Sonatype Nexus Repository OSS自称是
The world's first and only universal repository solution that's FREE to use。Nexus是目前用来搭建Apache Maven私服仓库最多的免费开源工具。
环境
CentOS7 Java8 Nexus3
下载
官网下载所需安装包:nexus-3.12.1-01-unix.tar.gz。
安装
不建议用root账户安装和启动。建议用普通的部署账户安装和启动。
创建一个nexus3目录
$ mkdir nexus3
解压缩到nexus3目录
$ tar zxvf nexus-3.12.1-01-unix.tar.gz -C nexus3
配置(可选)
nexus3/nexus-3.12.1-01/bin/nexus.vmoptions
# JVM 参数配置
-Xms256M
-Xmx1024M
-XX:MaxDirectMemorySize=2G
-XX:+UnlockDiagnosticVMOptions
-XX:+UnsyncloadClass
-XX:+LogVMOutput
# 日志文件
-XX:LogFile=../sonatype-work/nexus3/log/jvm.log
-XX:-OmitStackTraceInFastThrow
-Djava.net.preferIPv4Stack=true
-Dkaraf.home=.
-Dkaraf.base=.
-Dkaraf.etc=etc/karaf
-Djava.util.logging.config.file=etc/karaf/java.util.logging.properties
# 仓库数据目录
-Dkaraf.data=../sonatype-work/nexus3
-Djava.io.tmpdir=../sonatype-work/nexus3/tmp
-Dkaraf.startLocalConsole=false
运行
前台启动命令
$ bin/nexus run
后台启动命令
$ bin/nexus start
停止命令
$ bin/nexus stop
重启命令
$ bin/nexus restart
开放防火墙端口
nexus服务默认运行在8081端口
$ firewall-cmd --permanent --add-port=8081/tcp
$ firewall-cmd --reload
访问
http://your_ip:8081

默认账户密码:admin/admin123
maven仓库
| 仓库 | 类型 | 描述 |
|---|---|---|
| maven-central | proxy | 远程中央仓库 |
| maven-releases | hosted | 私库发行仓库 |
| maven-snapshots | hosted | 私库快照仓库 |
| maven-public | group | 仓库组 |
nexus3自带的 nuget-* 仓库可以删除,nuget是微软.NET开发平台的软件包管理器,这里用不到。
仓库类型
| 类型 | 描述 |
|---|---|
| proxy | 可以自主配置使用的远程仓库地址 |
| hosted | 内部项目构件发布的仓库类型 |
| virtual | 虚拟仓库类型(基本不用) |
| group | 可以自由顺序组合多个仓库使用 |
创建仓库
Repository-->Repositories-->Create repository-->maven2(proxy)

附阿里云中央仓库地址:http://maven.aliyun.com/nexus/content/groups/public/
Repository-->Repositories-->Create repository-->maven2(hosted)

| 部署策略 | 描述 |
|---|---|
| Allow redeploy | 允许重新部署。 同一个构件同一版本的包可以重复发布多次到此仓库中。 |
| Disable redeploy | 不允许重新部署。 即一个构件同一版本的包只可以发布一次到此仓库中。 |
| Read-only | 只读。 不允许发布构件到此仓库中。 |
Repository-->Repositories-->Create repository-->maven2(group)

注:注意仓库的顺序。maven查找依赖时会依次遍历仓库组中的仓库。
创建角色
为第三方构件仓库创建角色:

创建角色的同时可以为当前创建的角色分配权限。
创建用户
为第三方构件仓库创建用户:

创建用户并为创建的用户挂上相应的角色。
上传构件到第三方库
Browse-->3rd.party-->Upload component

选择上传的JAR包并填写相应的信息

上传成功后的视图
