maven私仓之Nexus
原创
©著作权归作者所有:来自51CTO博客作者来一块提拉米苏的原创作品,请联系作者获取转载授权,否则将追究法律责任
1、目的
maven的部分依赖可以直接从私仓里进行拉取;私仓中没有就从外部下载到私仓中,再从私仓拉取到本地
共享公司内部的私有依赖
2、服务器配置
mac目录(一般是这目录):/Applications/IntelliJ IDEA CE.app/Contents/plugins/maven/lib/maven3/conf/setting.xml
或:~/.m2/setting.xml
可以进行软链:ln -s /Applications/IntelliJ IDEA CE.app/Contents/plugins/maven/lib/maven3/conf/setting.xml ~/.m2/setting.xml
在中添加服务器配置
<server>
<id>maven-releases</id>
<username>admin</username>
<password>Nexus123</password>
</server>
<server>
<id>maven-snapshots</id>
<username>admin</username>
<password>Nexus123</password>
</server>
3、镜像配置
mac目录:/Applications/IntelliJ IDEA CE.app/Contents/plugins/maven/lib/maven3/conf/setting.xml
或:~/.m2/setting.xml
在中添加私有镜像地址
<mirror>
<id>maven-public</id>
<mirrorOf>*</mirrorOf>
<name>nice maven jcenter</name>
<url>http://nexus.xxxprivate.com/repository/maven-public/</url>
</mirror>
注:仓库优先级为:本地仓库(localRepositories) > profile中的repositories仓库 > POM > mirrors全局仓库
如果不添加mirrors,也可以通过添加pom中的配置来实现拉取私仓的中依赖,配置如下:
<repositories>
<!-- 配置nexus远程仓库 -->
<repository>
<id>nexus</id>
<name>Nexus Snapshot Repository</name>
<url>http://nexus.xxxprivate.com/repository/maven-public/</url>
<!-- 是否运行拉取正式版本的依赖 -->
<releases>
<enabled>true</enabled>
</releases>
<!-- 是否运行拉快照版本的依赖 -->
<snapshots>
<enabled>true</enabled>
</snapshots>
</repository>
</repositories>
4、提交依赖到私仓
在pom文件中添加提交配置
<distributionManagement>
<!--提交正式版本的地址,id对应setting.xml中的server-->
<repository>
<id>maven-releases</id>
<name>User Project Release</name>
<url>http://nexus.xxxprivate.com/repository/maven-releases</url>
</repository>
<!--提交快照版本的地址,id对应setting.xml中的server-->
<snapshotRepository>
<id>maven-snapshots</id>
<name>User Project SNAPSHOTS</name>
<url>http://nexus.xxxprivate.com/repository/maven-snapshots</url>
</snapshotRepository>
</distributionManagement>
注:
若项目版本号末尾带有 -SNAPSHOT,则会发布到snapshots快照版本仓库
若项目版本号末尾带有 -RELEASES 或什么都不带,则会发布到releases正式版本仓库
在idea中执行deploy进行发布,或者执行mvn deploy进行发布
5、拉取私仓依赖
找到相应的依赖添加到pom中即可