官方介绍:
The freeartifact repository with universalsupport for popular formats.
10 million developers trust Nexus
来个全套的,私有仓库搭建-->代码上传-->远程依赖
系统 环境:windows 64
软件版本:Nexus Respository Manager OSS 3.x
无论安装还是启动,非管理员用户必须以 管理员身份 运行命令行,管理员身份,管理员!重要说三遍
安装时提示:
Could notopenSCManager.
不用想了,以管理员身份重新打开命令行吧
下载安装
自行下载安装包 Nexus Repository Manager
替你们找好 [免费版]:(https://www.sonatype.com/download-oss-sonatype?hsCtaTracking=920dd7b5-7ef3-47fe-9600-10fecad8aa32%7Cf59d5f10-099f-4c66-a622-0254373f4a92) 了
[专业收费版在这]:(https://www.sonatype.com/download-sonatype-trial?submissionGuid=4d5ac1c9-5897-450b-885a-3aa22b41d3e7)
假设,安装包解压路径为D:IDEnexus-3.9.0-01-win64nexus-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
当看到下面的提示,恭喜,成了
Installedservice 'nexus'.
仓库服务操作
只要 想对仓库做些事儿,就得 以管理员身份登录
下面俩命令挺重要的,记住
开启服务nexus.exe/ start
成功提示
Startingservice 'nexus'.
等待大概 5-10 秒左右,启动需要时间
- 端口号 『8081』
在浏览器地址栏输入 『你自己的 ip地址:8081』,或者 『localhost:8081』 -
进入 仓库管理页面
localhost
:8081
192 .168.13.32:8081
停止服务nexus.exe/ stop
成功提示如下:
Stoppingservice '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 地址