关于Maven私服的搭建可以参考我这篇博客:https://my.oschina.net/u/2963821/blog/1806035
一、pepositories说明
maven-central:maven中央库,默认从https://repo1.maven.org/maven2/拉取jar
maven-releases:私库发行版jar
maven-snapshots:私库快照(调试版本)jar
maven-public:仓库分组,把上面三个仓库组合在一起对外提供服务,在本地maven基础配置settings.xml中使用。
二、私库的使用
1.单一项目设置远程仓库
在Maven project中pom.xml文件添加以下信息
<repositories>
<repository>
<id>nexus</id>
<name>Nexus3 Repository</name>
<!-- 此为仓库地址 -->
<url>http://192.168.230.129:8081/repository/maven-public/</url>
</repository>
</repositories>
代码中url
标签的路径在Repositories
中选择需要的仓库,点击URL
字段下的copy
进行复制
2.所有项目设置远程仓库
修改Maven的配置文件settings.xml
2.1)setting.xml添加如下信息
<profiles>
<profile>
<id>NexusRepo</id>
<repositories>
<repository>
<id>nexus</id>
<name>Nexus3 Repository</name>
<url>http://192.168.230.129:8081/repository/maven-public/</url>
<releases>
<enabled>true</enabled>
</releases>
<!-- snapshots默认是关闭的,需要手动开启 -->
<snapshots>
<enabled>true</enabled>
</snapshots>
</repository>
</repositories>
</profile>
</profiles>
<activeProfiles>
<activeProfile>NexusRepo</activeProfile>
</activeProfiles>
注: 此种方法如果远程仓库关闭或意外退出,在maven构建时会到中央仓库去查找jar包
2.2)setting.xml添加如下信息
<mirror>
<id>nexus-tout</id>
<!-- *号代表所有仓库,此处也可以单独设置,以逗号隔开 -->
<mirrorOf>*</mirrorOf>
<name>Nexus3 tout</name>
<url>http://192.168.230.129:8081/repository/maven-public/</url>
</mirror>
注:这个方法跟添加阿里云的镜像是一样的,且都会使上面2.1)的配置不生效
3.发布jar包
如果想发布项目的jar包,可以配置如下信息:
- Maven project中pom.xml文件添加以下信息
<distributionManagement>
<repository>
<id>maven-releases</id>
<name>maven releases</name>
<url>http://192.168.230.129:8081/repository/maven-releases/</url>
</repository>
<snapshotRepository>
<id>maven-snapshots</id>
<name>maven snapshots</name>
<url>http://192.168.230.129:8081/repository/maven-snapshots/</url>
</snapshotRepository>
</distributionManagement>
- setting.xml添加如下信息
<servers>
<server>
<id>maven-releases</id>
<username>admin</username>
<password>admin123</password>
</server>
<server>
<id>maven-snapshots</id>
<username>admin</username>
<password>admin123</password>
</server>
</servers>
注:上下id必须一致!!
然后就可以deploy,构建上传jar包了