首页 > 代码库 > 使用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私服