最近JCenter已经停止了维护服务,谷歌也提醒我们尽快迁移到Maven Central,但是往往公司都会有多年的老旧项目需要维护,可能依赖的库作者都已经不更新了,一个个做本地依赖也不方便。因此我想到一个简便的迁移方法。使用nexus私服把以前jcenter的依赖同步更新到自己私服上面,自己项目只用在build.gradle中添加nexus私服地址即可。
工具准备
Nexus搭建的Maven私服(版本需要3.0以上)
步骤
1.创建自己的远程仓库的存储目录。登录Nexus后台,选择 Repositories -> Blob Stores -> Create blob store 创建一个自己的存储目录,这样可以和服务端java库或是JavaScript的npm存储区分开。
然后填写信息,Type 选择 File, name 这里填写mobile ,注意这里填写的name后面需要用到,然后点击Create blob store。
- 创建jcenter的镜像同步拉取jcenter的远程依赖。Repositories -> create repository 选择maven2(proxy)
然后填写信息,Name 填写jcenter,Remote storage 填写http://maven.aliyun.com/nexus/content/repositories/jcenter,这里没有用jcenter的官方地址是因为现在无法同步jcenter了,因此我选择同步阿里的jcenter。Blob store 选择刚才我们第一步创建的 mobile,其他保持不变点击Create repository。
3.创建自己的仓库依赖本地的jcenter镜像。选择 Repositories -> create repository 选择maven2(group)
然后填写信息,Name这里我填写 android-public,Blob store 选择刚才我们第一步创建的 mobile ,
Member repositories里面把第二步创建的jcenter添加进Members选项中,其他保持不变点击Create repository。
4.获取远程依赖。最后在android 的build.gradle中的repositories里面删除jcenter()再添加我们自己创建的 android-public仓库。
maven{
url "http://xxx/repository/android-public/"
}
xxx代表自己的nexus的url地址,后再Sync project以后项目里面的依赖库就直接通过nexus代理下载到本地项目中和nexus的blob中了