为什么要在本地开发机器上安装nexus?首先声明公司内部是有自己的nexus仓库,但是对上传jar包做了限制,不能畅快的上传自己测试包依赖。于是就自己在本地搭建了一个nexus私服,即可以使用公司nexus私服仓库中的依赖,也可以上传和使用自己的测试包依赖。
Download Nexus Repository OSS
将下载的nexus-3.14.0-04-win64.zip解压到自定义目录即可。
打开zip解压文件下的 ../nexus-3.14.0-04-win64/nexus-3.14.0-04/etc/nexus-default.properties。
如下属性可以自定义修改。
通常可以不做任何修改,但个人习惯于修改 application-host 为127.0.0.1(关于0.0.0.0与127.0.0.1的区别自行检索),我这里只修改了端口。
打开解压目录下的 ../nexus-3.14.0-04-win64/nexus-3.14.0-04/bin/nexus.vmoptions
可以在下图配置运行时的最大堆、最小堆等,可以根据个人的电脑以及需要修改,默认配置如下。
在.../nexus-3.14.0-04-win64/nexus-3.14.0-04/bin 目录下,以管理员身份运行cmd
1. nexus.exe /run 命令可以启动nexus服务(参考官方文档)
2. 安装nexus本地服务来启动(推荐使用这种方式,参考官方文档),命令如下所示。
nexus.exe /install //安装nexus服务
nexus.exe /install //安装nexus服务
nexus.exe /start //启动nexus服务
nexus.exe /stop //停止nexus服务
默认的用户名和密码分别是:admin/amdin123
如果没有做任何端口和上下文路径的修改,直接访问 http://localhost:8081即可。
默认安装有以下这几个仓库,在控制台也可以修改远程仓库的地址,第三方仓库等。
仓库名 |
作用 |
hosted(宿主仓库库) |
存放本公司开发的jar包(正式版本、测试版本) |
proxy(代理仓库) |
代理中央仓库、Apache下测试版本的jar包 |
group(组仓库) |
使用时连接组仓库,包含Hosted(宿主仓库)和Proxy(代理仓库) |
virtual (虚拟仓库) |
基本用不到,重点关注上面三个仓库的使用
|
如上图所示,maven-public就我创建的组仓库。以及还创建了3个代理仓库,如下。
1、jcenter仓库:https://jcenter.bintray.com/
2、maven中央仓库:https://repo1.maven.org/maven2/
3、公司内部nexus仓库,这里就不给出了
最后建立组仓库maven-public,如下。
组仓库中包含了公司私服、jcenter、maven-central、本地maven-releases,本地maven-snapshots。
创建好组仓库之后,修改setting.xml文件,添加maven仓库镜像,如下。
local
hjzgg
hjzgg
local
central
localhost nexus
http://localhost:8082/repository/maven-public/
接着修改maven项目中的pom.xml,如下。
maven-releases
Nexus Release Repository
http://localhost:8082/repository/maven-releases/
maven-snapshots
Nexus Snapshot Repository
http://localhost:8082/repository/maven-snapshots/
如果是gradle项目,修改init.gradle文件,如下。
uploadArchives {
def nexus_credentials = [userName: "hjzgg", password: "hjzgg"]
repositories.mavenDeployer {
snapshotRepository(url: "http://127.0.0.1:8082/repository/maven-snapshots/") {
authentication(nexus_credentials)
}
repository(url: "http://127.0.0.1:8082/repository/maven-releases/") {
authentication(nexus_credentials)
}
}
}
请参考:订阅号文章nexus安装和配置