本文首发于我的博客,欢迎访问
官方介绍:
The free artifact repository with universal support for popular formats.
10 million developers trust Nexus
来个全套的,私有仓库搭建–>代码上传–>远程依赖
系统 环境:windows 64
软件版本:Nexus Respository Manager OSS 3.x
无论安装还是启动,非管理员用户必须以 管理员身份 运行命令行,管理员身份,管理员!重要说三遍
安装时提示:
Could not open SCManager.
不用想了,以管理员身份重新打开命令行吧
自行下载安装包 Nexus Repository Manager
替你们找好 免费版 了
专业收费版在这
假设,安装包解压路径为D:\IDE\nexus-3.9.0-01-win64\nexus-3.9.0-01
C:\Windows\system32>cd D:\IDE\nexus-3.9.0-01-win64\nexus-3.9.0-01\bin
添加全路径到环境变量,直接执行命令
nexus.exe/install
当看到下面的提示,恭喜,成了
Installed service 'nexus'.
只要 想对仓库做些事儿,就得 以管理员身份登录
下面俩命令挺重要的,记住
nexus.exe/start
成功提示
Starting service 'nexus'.
localhost:8081
』 -localhost:8081
192.168.13.32:8081
nexus.exe/stop
成功提示如下:
Stopping service 'nexus'.
Service stopped
上面的内容,记不住也没关系
管理员身份:user: admin pd: admin123,默认的,可以修改密码
丢个图:
既然要 Maven 仓库,当然选择 Maven 了
可以创建出三种不同类型的仓库
再丢个图:
最简单,不用任何配置的当属 hosted ,其他两种自行感受,我们以最简单最直接最快看到结果为目的
仓库名称 不支持中文(废话)
仓库来了:
点进去,看看 仓库地址吧
现在,仓库有了,地址有了,该发布 『远程依赖包』 了
build.gradle
文件
重要信息:repository,pom
repository 包含:仓库地址,用户信息
pom 包含 上传到仓库后,我们使用的 『远程依赖 』信息
apply plugin: 'maven'
uploadArchives {
repositories.mavenDeployer {
repository(url:"http://localhost:8081/repository/Test1/") {
authentication(userName:"admin", password:"admin123")
}
// 以com.android.support:appcompat-v7:25.1.0为对比
pom.version="0.0.1" // 对应版本号 25.1.0
pom.artifactId="virtualapk" // 对应 appcompat-v7
pom.groupId="com.android.support" // com.android.support
}
}
Gradle –> 待上传module –>upload–>uploadArchives
过程不说了,没啥点
看结果,丢图
有人说,呀,我配置错了,想删了重新上传,咋办(别意外,我自己就遇到过)
别急,看这:
选中你的版本号,然后右侧删除,再刷新一下,哦了
这里的远程的意思是:不是我本地磁盘里的
不配这个地址,你就等着吧,默认的远程公共仓库根本没有
工程.gradle 文件
allprojects {
repositories {
....
//此处的远程仓库地址就是上面上传的地址
maven { url "http://localhost:8081/repository/TEST/" }
}
}
当然,如果只有个别的 module 需要本地仓库 依赖,配到需要的 module 里就好了。
跟 正常的远程依赖一样,没区别
implementation 'groupId:artifactId:version'
implementation 'com.android.support:virtualapk:0.0.1'
同步一下
再验证一下
jar 包都有了,还能说啥
补充一句:自己的私有仓库提供给其他人用的话,把localhost 缓存 你自己的ip 地址