Maven-Linux搭建Nexus私服仓库
参考
使用Nexus搭建Maven私服教程(附:配置并使用私服教程) (hangge.com)
Maven私服搭建(Nexus Repository Manager 3) - 布禾 - 博客园 (cnblogs.com)
下载
下载地址:https://help.sonatype.com/repomanager3/download
注意:Nexus Repository Manager 3是一个Java服务器应用程序,安装需要 jdk1.8以上的版本
下载解压后,用命令行到解压目录的bin目录下运行 nexus.exe /run(Linux运行./nexus run),启动完成后会显示“Started Sonatype Nexus”
Docker 中下载、安装、启动
(1)首先执行如下命令下载 Nexus3 镜像:
1 | docker pull sonatype/nexus3 |
(2)接着执行如下命令,创建宿主机挂载目录:
1 | mkdir –vp /usr/local/nexus-data |
(3)最后执行如下命令运行 Nexus3 容器即可:
1 | docker run -d --name nexus3 -p 8081:8081 -v /usr/local/nexus-data:/var/nexus-data sonatype/nexus3 |
(4)同样不要忘记执行如下命令开放 8081 端口:
1 | firewall-cmd --permanent --add-port=8081/tcpfirewall-cmd --reload |
访问 Nexus 管理后台
Nexus管理后台地址:http://localhost:8081/
点击右上角Sign in登录,查看密码文件,登录
修改密码「admin 123456」
设置-仓库 maven-release ,Deploy policy 改为 Allow redeploy
添加阿里代理仓库,maven-public 分组中添加代理仓库
添加-maven2 proxy-name-url
设置-Security-Anonymous Access,勾选 Allow anonymous users to access the server。可以匿名访问仓库资源
说明
(1)默认仓库说明:
- maven-central:maven 中央库,默认从 https://repo1.maven.org/maven2/ 拉取 jar
- maven-releases:私库发行版 jar,初次安装请将 Deployment policy 设置为 Allow redeploy
- maven-snapshots:私库快照(调试版本)jar
- maven-public:仓库分组,把上面三个仓库组合在一起对外提供服务,在本地 maven 基础配置 settings.xml 或项目 pom.xml 中使用
(2)仓库类型说明:
- group:这是一个仓库聚合的概念,用户仓库地址选择 Group 的地址,即可访问 Group 中配置的,用于方便开发人员自己设定的仓库。maven-public 就是一个 Group 类型的仓库,内部设置了多个仓库,访问顺序取决于配置顺序,3.x 默认为 Releases、Snapshots、Central,当然你也可以自己设置。
- hosted:私有仓库,内部项目的发布仓库,专门用来存储我们自己生成的 jar 文件
- snapshots:本地项目的快照仓库
- releases: 本地项目发布的正式版本
- proxy:代理类型,从远程中央仓库中寻找数据的仓库(可以点击对应的仓库的 Configuration 页签下 Remote Storage 属性的值即被代理的远程仓库的路径),如可配置阿里云 maven 仓库
- central:中央仓库
发布依赖
配置 maven
setting.xml
文件,添加如下注意
setting.xml
文件是当前生效的配置文件,默认在 用户目录/.m2/setting.xml1
2
3
4
5
6
7
8
9
10<server>
<id>bjtcrj-releases</id>
<username>admin</username>
<password>123456</password>
</server>
<server>
<id>bjtcrj-snapshots</id>
<username>admin</username>
<password>123456</password>
</server>项目 pom.xml
id 与上面 server 中 id 对应
1
2
3
4
5
6
7
8
9
10
11
12<distributionManagement>
<repository>
<id>bjtcrj-releases</id>
<name>bjtcrj-releases</name>
<url>http://ip:8000/repository/maven-releases/</url>
</repository>
<snapshotRepository>
<id>bjtcrj-snapshots</id>
<name>bjtcrj-snapshots</name>
<url>http://ip:8000/repository/maven-snapshots/</url>
</snapshotRepository>
</distributionManagement>mvn clean deploy
依赖配置
pom.xml
1 | <repository> |
注意,如果报错,执行命令如下:
1 | mvn clean package -U |