首页 > 代码库 > 使用nexus搭建Maven私服

使用nexus搭建Maven私服

为什么使用nexus搭建maven私服,原因是当公司不提供外网给项目组人员的时候,因为不能使用maven远程的仓库地址,只能搭建nexus私服,开发人员直接连接私服开发,前提保证搭建私服电脑有权限访问外网,当私服中没有所需要的jar时,私服会从远程仓库下载,然后才会下载到本地。

1.安装JDK与MAVEN

2.下载nexus 下载地址:https://www.sonatype.com/download-oss-sonatype

  我下载的是nexus-2.14.3-02-bundle.zip

3.打开目录nexus-2.14.3-02-bundle\nexus-2.14.3-02\bin\jsw这个目录下面你会发现很多系统版本的nexus环境

我的电脑系统是win7 64位 我选择的是windows-x86-64,根据系统选择对应版本

技术分享

 

打开一个版本后看到如下文件

技术分享

点击install-nexus.bat,访问http://localhost:8081/nexus/。

在页面右上角有个Log In的超链接,点击登陆,默认账号:admin,密码:admin123

登陆后,左侧菜单security下users可以设置用户相关信息

4.配置maven代理服务器

 技术分享

5.3rd party、Snapshots、Releases分别用来保存第三方jar,项目组内部快照,项目组内部发布版

技术分享

技术分享

技术分享

技术分享

 6.jar包上传后,建立一个maven项目,再pom.xml文件中,添加如下图所示的maven地址

技术分享

 

 技术分享

至此私服搭建完毕,开发中只需要再pom.xml中添加jar的maven地址就可以了。如果私服中存在此jar包,直接从私服下载,如果私服中没有此jar包,私服会通过外网去下载,下载完毕后才会下载到本地,这就是搭建私服的好处。

 

7.团队在开发一个项目的各个模块,为了让自己开发的模块能够快速让其他人使用,你会想要将snapshot版本的构件部署到Maven仓库中,其他人只需要在POM添加一个对于你开发模块的依赖,就能随时拿到最新的snapshot。
以下的pom.xml配置和maven的settings.xml能让你通过Maven自动化部署构件:

pom.xml

 1 <project>
 2 ...
 3 <distributionManagement>
 4   <repository>
 5     <id>nexus-releases</id>
 6       <name>Nexus Release Repository</name>
 7       <url>http://localhost:8081/nexus/content/repositories/releases/</url>
 8   </repository>
 9   <snapshotRepository>
10     <id>nexus-snapshots</id>
11     <name>Nexus Snapshot Repository</name>
12     <url>http://localhost:8081/nexus/content/repositories/snapshots/</url>
13   </snapshotRepository>
14 </distributionManagement>
15 ...
16 </project>

setting.xml

 1 <settings>
 2 ...
 3 <servers>
 4   <server>
 5     <id>nexus-releases</id>
 6     <username>admin</username>
 7     <password>admin123</password>
 8   </server>
 9   <server>
10     <id>nexus-snapshots</id>
11     <username>admin</username>
12     <password>admin123</password>
13   </server>  
14 </servers>
15 ...
16 </settings>

这里我们配置所有的snapshot版本构件部署到Nexus的Snapshots仓库中, 所有的release构件部署到Nexus的Releases仓库中。由于部署需要登陆,因为我们在settings.xml中配置对应Repository id的用户名和密码。
然后,在项目目录中执行mvn deploy ,你会看到maven将项目构件部署到Nexus中,浏览Nexus对应的仓库,就可以看到刚才部署的构件。当其他人构建其项目时,Maven就会从Nexus寻找依赖并下载。

使用nexus搭建Maven私服