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

maven私仓之Nexus_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、拉取私仓依赖

maven私仓之Nexus_xml_02


找到相应的依赖添加到pom中即可