一.前言
如果你现在面临以下的问题,您就可以搭建本地Nexus作为开发的私人服务器了:
1.由于公司项目多,且都依赖于一个公共Library,导致Library有变动所有的被依赖者都需要重新修改、构建,很繁琐。而用Nexus管理,只需添加如下的一行代码到模块的build.gradle文件中,就可以轻松解决问题了。
2.自己研究新的技术或者新的module,需要反复的更新或者研究,此时方便开发,可以在本地搭建Nexus私人服务器,利用Android Studio方便管理。
配置Nexus
1.在Window10系统上安装好JDK,并且配置好Java环境;
2.下载Nexus压缩包,本文使用的版本是Nexus2.14.8,官网下载地址,笔者微云下载地址;
3.将下载好的Nexus解压在硬盘根目录新建的文件夹Nexus中,以便后期自己管理(有强迫症的人伤不起),解压好了之后会出现两个文件夹,如图所示:
nexus2.14.8是Nexus配置文件夹,而上传的module会保存在work文件夹中;
4.启动window10命令提示符,切记一定要右键以管理员身份启动,cd进入nexus-2.14.8-01-bundle/bin文件夹中,输入nexus start启动服务,如图所示则表示启动成功:
若报错wrapper | OpenSCManager failed - 拒绝访问。 (0x5)则代表不是以管理员身份运行的cmd命令符,切换身份,重复步骤4就好,如若需要停止Nexus停止服务,则cmd进入nexus-2.14.8-01-bundle/bin目录,输入nexus stop即可;
5.如若如图所示,则代表启动成功:
此时打开浏览器,访问http://localhost:8081/nexus/,点击右上角login in进行登录,默认账号/密码为:admin/admin123;
二.新建仓库
1.在Nexus本地网页上登陆成功之后,即可开始新建仓库:
2.填写自己的Repository ID,Repository Name,把Deploymen Policy勾选为Allow Redeploy,然后其他默认就可以,点击save进行保存。
3.保存成功之后将会在我们的仓库列表中看到我们的仓库地址Url,此后地址将在上传module和引用module用到。
三.上传
1.打开Android Studio新建工程和module,在module目录下新建文件push.gradle文件:
push.gradle文件中主要配置上传的Url,module的artifactId/名称,version/版本号,groupId/包名,description/更新的文字描述:
apply plugin: 'maven'
configurations {
deployerJars
}
repositories {
mavenCentral()
}
uploadArchives {
repositories {
mavenDeployer {
repository(url: "http://192.168.0.104:8081/nexus/content/repositories/BaseAdapter") {
authentication(userName: "admin", password: "admin123")
}
pom.project {
version '3.0.3'
artifactId 'BaseAdapter'
groupId 'com.wei.base'
// packaging 'aar'
description '重大更新:1.BaseAdapter打磨,添加DiffCallback智能更新数据;'
}
}
}
}
2.配置module/build.gradle文件,在budile.gradle文件最后添加:apply from: './push.gradle',点击sync Now同步成功后,就可以开始准备上传了;
3.打开Android Studio的Gradle面板,找到需要上传的module,在列表中找到upload/uploadArchives,点击并上传:
4.经过几秒的等待,直至Build面板中出现Build SUCCESSFUL代表上传成功,打开Nexus本地Url地址,在仓库列表中即可看到上传的module。
四.使用
1.在Project的build.gradle对项目的地址进行声明:
2.在Project/app的build.gradle对module添加依赖:
implementation 'com.wei.base:BaseAdapter:1.0.0'//Android Studio3.0以后
compile 'com.wei.base:BaseAdapter:1.0.0'//Android Studio3.0以前
3.这里组成的依赖语句可在Nexus本地网页中查找:
或者可以直接添加最新的依赖:
implementation 'com.wei.base:BaseAdapter:+'//Android Studio3.0以后
compile 'com.wei.base:BaseAdapter:+'//Android Studio3.0以前
这样即可同步到最新的版本。
五.注意
1.上传所用Android Studio的Gradle版本,需要与下载所用的一致。切记,切记!
2.在执行过一次Gradle的同步之后,Gradle会把对应的Module的文件下载在本地,之后会直接使用。所以当我们删除旧的Module,用同样的pom.project信息重新上传一个新的Module时,执行Gradle同步,并不会更新最新的Module下来。这个时候可以到仓库存储路径下把对应的Module文件删除。一般来说:
Mac系统默认下载到:/Users/(用户名)/.gradle/caches/modules-2/files-2.1
Windows系统默认下载到:C:\Users(用户名).gradle\caches\modules-2\files-2.1