美文网首页
使用Nexus搭建Maven私服并管理模块、组件版本

使用Nexus搭建Maven私服并管理模块、组件版本

作者: channelRead0 | 来源:发表于2018-05-18 11:42 被阅读0次

    一、软件下载

    nexus-3.11.0-01-win64下载解压

    image.png
    jdk-8u171-windows-x64.exe下载并配置环境变量 image.png

    二、搭建

    1、nexus3是免安装的,解压到指定目录

    image.png

    2、修改nexus-3.11.0-01-win64\nexus-3.11.0-01\etc\nexus-default.properties文件

    image.png

    指定访问路径和端口号

    image.png
    3、在nexus-3.11.0-01-win64\nexus-3.11.0-01\bin下,Shift+右键 在此处打开命令窗口,输入
    nexus.exe/run
    启动服务,如下图
    image.png
    安装为服务(可选)
    nexus.exe/install <optional-service-name>#安装
    nexus.exe/start <optional-service-name>#开始
    nexus.exe/stop <optional-service-name>#结束
    nexus.exe/uninstall <optional-service-name> #卸载
    其中<optional-service-name>为服务的名称,可自定义,可为空

    4、浏览器输入http://127.0.0.1:8081/或http://localhost:8081/,右上角登陆,初始账号 admin 密码 admin123 。

    image.png

    5、创建仓库

    image.png

    Nexus仓库分类

    image.png

    Maven可以直接从宿主仓库下载构件;Maven也可以从代理仓库下载构件,而代理仓库会间接地从远程仓库下载并缓存构件;

    三、组件上传

    1、在 build.gradle 添加添加一句

    apply plugin: 'maven'
    

    并在底部添加以下代码

    uploadArchives {
        repositories {
            mavenDeployer {
    
                repository(url: "http://127.0.0.1:8081/repository/basiclib/") {
                    authentication(userName: "admin", password: "admin123")      //账号,密码
                }
    
                pom.project {
                    version '1.0.0'
                    artifactId 'basiclib-release'
                    groupId 'com.dssaw'
                    description 'dependences lib'
                }
    
            }
        }
    }
    

    2、打开Android Studio终端Terminal输入
    gradlew uploadArchives
    或右上角点Gradle,选择模块下Tasks->upload->uploadArchives

    四、依赖组件

    在app模块的build.gradle中添加

    android {
        ...
        allprojects {
            repositories {
                jcenter()
                maven {
                    url 'http://127.0.0.1:8081/repository/basiclib/'  //仓库地址
                }
            }
        }
        ...
    }
    
    dependencies {
        ...
    //    implementation project(':basiclib') 
        //implementation 'com.dssaw:basiclib-release:1.0.0@aar' //此方式适合没有远程依赖的引入
          implementation 'com.dssaw:basiclib-release:1.0.0' //此引入方式适合有远程依赖的资源
    }
    

    五、创建代理仓库

    https://dl.google.com/dl/android/maven2/

    image.png
    image.png
    image.png

    六、把代理仓库整合到一个仓库组

    仓库组的作用就是只需要依赖于一个group,便能使用所有该group包含的仓库的内容。


    image.png

    问题

    1、引用aar时找不到arr的远程依赖库
    如果arr文件中包含远程依赖,在引入时选择不带@arr的方式,是否有远程依赖可以查看.pom文件


    image.png

    相关文章

      网友评论

          本文标题:使用Nexus搭建Maven私服并管理模块、组件版本

          本文链接:https://www.haomeiwen.com/subject/eiawdftx.html