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

一、软件下载

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
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 首先私服是一种衍生出来的特殊的Maven远程仓库,构建私服的好处请看3.5私服 可以帮助大家建立私服的仓库管理软件...
    zlcook阅读 13,625评论 0 32
  • Nexus是Maven仓库管理器,管理开发所需要的构件。如果你每次都是从Apache提供的Maven中央仓库去下载...
    点融黑帮阅读 9,240评论 0 6
  • 1. 为什么使用Nexus? 如果没有私服,我们所需的所有构件都需要通过maven的中央仓库和第三方的Maven仓...
    wyatt_plus阅读 4,449评论 0 0
  • 搭建 nexus 私服(centos6.7) 备注:Centos 6.7 、 nexus-2.12.1-01-bu...
    逐暗者阅读 7,241评论 3 9
  • 前两天无意间看到了一篇关于台湾女艺人白冰冰女儿白晓燕被绑架的案件,刚巧之后的思修课上有一篇法律的知识是我们组讲解,...
    陌上阿黎阅读 1,508评论 0 0