­

搭建本地maven库(nexus服务器)

  • 2019 年 10 月 7 日
  • 筆記

第一步,下载https://www.sonatype.com/download-oss-sonatype 别下3.x版本,下2.x版本

第二步,解压,在bin目录下执行cmd命令,nexus install然后nexus start

第三步,查看http://localhost:8081/nexus/#welcome 初始账号密码是admin/admin123

如图就是本地maven库

从本地上传aar文件

结果

gradle引用

repositories {      mavenLocal      mavenCentral()      maven { url "http://127.0.0.1:8081/nexus/content/groups/public"}  }    baiduCompile 'com.jinkejoy.aar.lib_ads:baidu:1.0.0'

如果加了mavenLocal,就会默认首先从本地的maven缓存中去取,如果版本一样的话,所以最好每更新一次文件,就升一个版本

如果maven库是远程地址,依赖时要在连接后面增加@aar

baiduCompile 'com.jinkejoy.aar.lib_ads:baidu:1.0.0@aar'

现在不加@aar也可以了

gradle上传本地文件到远程maven库

自定义aar-upload.gradle文件

artifacts {      archives file('./build/outputs/aar/Lib_ads-baidu-debug.aar')  }    uploadArchives {      repositories {          mavenDeployer {              print "------------------uploadArchives"              //本地maven              repository(url: 'http://127.0.0.1:8081/nexus/content/repositories/thirdparty') {                  authentication(userName: 'admin', password: 'admin123')                  pom.project {                      groupId 'ads'                      artifactId 'lib-ads-ad360'                      version '1.0.2'                      packaging 'aar'                  }              }          }      }  }

buile.gradle引用添加

apply plugin: 'maven'  apply from: './你自己定义的文件名.gradle'    repositories{       maven { url "http://172.0.0.1:8081/nexus/content/repositories/thirdparty/" }  }

脚本大家在网上都搜的到,坑爹的是有些东西说的很不清楚。

仓库分四种类型:group仓库组、hosted本地仓库、proxy代理仓库、virtual虚拟仓库

本地上传的话,只能传到hosted仓库,所以gradle脚本只能写

http://127.0.0.1:8081/nexus/content/repositories/thirdparty

其他路径都是错误的,切记!!!这破问题搞了我两天时间

参考博客:http://www.javatang.com/archives/2010/01/23/4518375.html