在上一篇文章中已将nexus搭建完成。访问服务器地址验证成功,在咱们项目里开始使用私服以前先了解一下maven依赖顺序,也就是mavne下载文件访问仓库的顺序。html
上面第三条提到按配置远程仓库地址的顺序进行搜索下载。下面简要说明下:安全
最后搜素顺序以下:
local_repo > settings_profile_repo > pom_profile_repo > pom_repositories > settings_mirror > central
(对比着配置文件的节点名称来看更容易理解些)服务器
看完上面这些内容后,咱们开始在项目中配置maven私服吧。maven
地址:http://ip:8081(搭建maven私服的地址)
管理账号:admin 管理密码:123456 (登陆私服的帐号、密码)
发包账号:maven 发包密码:123456 (为了安全起见,使用管理帐号单首创建的帐号密码用于发包使用)单元测试
普通项目成员即不须要向私服发布包的,只须要在 pom 文件中加入如下配置便可测试
<repositories> <repository> <id>maven-public</id> <name>maven-public</name> <url>http://ip:8081/repository/maven-public/</url> <releases> <enabled>true</enabled> </releases> <snapshots> <enabled>true</enabled> </snapshots> </repository> </repositories>
配置说明:
其中 id 要和你的仓库名称一致,url 就是私服的仓库地址,就是type 为 group 的那个,它组合了一个 proxy 类型的和两个 hosted 类型的仓库。设置 snapshots 的 enabled 为ture,表示容许下载 snapshots 版本的包。
引用私服中的jar包:ui
<dependencies> <dependency> <groupId>com.wangms.commons</groupId> <artifactId>commons-utils</artifactId> <version>1.0.0</version> </dependency> </dependencies>
向私服仓库中发布包,首先须要对仓库有权限才能够,没有权限的用户是没办法发布的。
打开 maven 的配置文件 setting.xml ,找到 servers 节点在其中添加 server 节点,用户名和密码也能够是管理员建立的帐号,可是须要对仓库有添加权限。url
配置本地maven settings.xml
提示:两种配置方法code
<servers> <server> <id>releases</id> <username>maven</username> <password>123456</password> </server> <server> <id>snapshots</id> <username>maven</username> <password>123456</password> </server> </servers> <mirrors> <mirror> <id>nexus</id> <name>internal nexus repository</name> <!--镜像采用配置好的组的地址--> <url>http://ip:8081/repository/maven-public/</url> <mirrorOf>!internal.repo,*</mirrorOf> </mirror> </mirrors>
配置须要上传到私服上的项目pom.xml配置信息server
<distributionManagement> <!--配置线上releases仓库地址,只要是正式版本都会上传到该地址 (注意要和settings.xml文件里面的配置名称相同)--> <repository> <id>releases</id> <name>Releases</name> <url>http://ip:8081/repository/maven-releases/</url> </repository> <!--配置线上snapshots仓库地址,只要是快照版本都会上传到该地址 (注意要和settings.xml文件里面的配置名称相同)--> <snapshotRepository> <id>snapshots</id> <name>Snapshot</name> <url>http://ip:8081//repository/maven-snapshots/</url> </snapshotRepository> </distributionManagement>
特别说明:
当pom.xml中同时配置了releases仓库和snapshots仓库时。
若是只配置了releases库而版本号写的是带-SNAPSHOT的,build到最后一步会报400错误,由于它找不到对应的库。
公共资源jar包发布到maven私服命令以下:
mvn clean deploy
扩展知识点:
Maven私服的搭建和使用相关的系列文章共三篇,欢迎阅读
Maven知识记录(一)初识Maven私服
Maven知识记录(二)使用Nexus搭建Maven私服
Maven知识记录(三)项目中使用maven私服