1.下载安装包
Nexus有2个版本,专业版和oss版,oss版是免费的,专业版是收费的。
https://www.sonatype.com/download-nexus-repo-oss
2.新建安装目录, 上传安装包到该目录
mkdir -p /opt/nexus
3.解压安装包
tar -zxvf latest-unix.tar.gz
解压生成两个文件夹nexus-3.28.1-01
和 sonatype-work
4.启动nexus
cd /opt/nexus/nexus-3.28.1-01/bin
# ./nexus {start|stop|run|run-redirect|status|restart|force-reload}
./nexus start
5.防火墙开放端口号
firewall-cmd --zone=public --add-port=8081/tcp --permanent # 开放8081端口
firewall-cmd --reload # 配置立即生效
firewall-cmd --zone=public --list-ports #查看防火墙所有开放的端口
6.登录Nexus
浏览器打开:http://IP:8081 , 点击右上角的Sign in
默认帐号:admin
查看默认密码
vi /opt/nexus/sonatype-work/nexus3/admin.password
登录成功之后,修改默认密码即可。
7.仓库介绍
仓库介绍:
- **maven-public:**maven-central、maven-release和maven-snapshot三个库的合集。
- **maven-release:**用来存放release版本的jar包。
- **maven-snapshot:**用来存放snapshot版本的jar包。
仓库类型:
- proxy:是远程仓库的代理,当用户向这个proxy请求一个artifact,这个proxy就会先在本地查找,如果找不到的话,就会从远程仓库下载,然后返回给用户,相当于起到一个中转的作用。
- hosted:是宿主仓库,用户可以把自己的一些构件,deploy到hosted中,也可以手工上传构件到hosted里。比如说oracle的驱动程序,ojdbc6.jar,在central repository是获取不到的,就需要手工上传到hosted里,一般用来存放公司自己的jar包;
- group:是仓库组,在maven里没有这个概念,是nexus特有的。目的是将上述多个仓库聚合,对用户暴露统一的地址,这样用户就不需要在pom中配置多个地址,只要统一配置group的地址就可以了右边那个Repository Path可以点击进去,看到仓库中artifact列表。不过要注意浏览器缓存,当你的项目希望在多个。
8.上传jar包
选择jar包位置,输入Group ID, Artifact ID, Version
, 点击 Upload
按钮
9.仓库配置阿里云源
镜像地址替换成阿里源: http://maven.aliyun.com/nexus/content/groups/public/
10.maven配置Nexus私服地址
找到maven的配置文件settings.xml
, 在标签mirrors
中加上以下内容
<mirror>
<id>maven-nexus</id>
<name>maven-nexus</name>
<url>http://你的IP:8081/repository/maven-public/</url>
<mirrorOf>central</mirrorOf>
</mirror>
11. IDEA上传项目jar包
找到maven的配置文件settings.xml
, 在标签servers
中加上以下内容
<server>
<id>releases</id>
<username>admin</username>
<password>admin123</password>
</server>
<server>
<id>snapshots</id>
<username>admin</username>
<password>admin123</password>
</server>
在项目的pom.xml
文件中新增以下内容
<distributionManagement>
<repository>
<id>releases</id>
<name>releases</name>
<url>http://你的IP:8081/repository/maven-releases/</url>
</repository>
<snapshotRepository>
<id>snapshots</id>
<name>snapshots</name>
<url>http://你的IP:8081/repository/maven-snapshots/</url>
</snapshotRepository>
</distributionManagement>
就可以在你想要上传的模块点击IDEA
maven
的deploy
命令,上传jar到Nexus私服了。
jar包上传到releases
还是snapshots
仓库,取决于你jar包项目中的pom.xml
中的版本号。
<version>1.0.0.RELEASE</version> # 会自动上传到releases仓库
<version>1.0.0.SNAPSHOTS</version> # 会自动上传到snapshots仓库