背景:昨天同事让我帮忙往私服里上传jar包,方便大家一起使用,特此研究maven私服相关。
maven私服简介
maven默认的仓库是apache的中央仓库,需要什么jar包都是直接从apache中央库里调,nexus私服相当于一个中间服务器,
它从apache中央仓库下载资源,公司的局域网内的用户通过setting.xml/pom.xml的配置可以直接引用nexus私服中的资源。如果私服里有的东西,本地项目需要引用则直接下载,没有才从apache中央仓库下载,相当于加快了速度,减小了带宽使用。
这里记录下maven私服jar包的引用和上传。
首先在setting.xml进行配置
<servers>
<server>
<id>fspirit</id>
<username>root</username>
<password>123456</password>
</server>
<server>
<id>fspirit-releases</id>
<username>root</username>
<password>123456</password>
</server>
<server>
<id>fspirit-snapshots</id>
<username>root</username>
<password>123456</password>
</server>
<profile>
<id>dev</id>
<repositories>
<repository>
<id>fspirit</id>
<url>http://ip/nexus/content/groups/public</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>true</enabled>
</snapshots>
</repository>
</repositories>
<pluginRepositories>
<pluginRepository>
<id>fspirit</id>
<url>http://http://ip/nexus/content/groups/public</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>true</enabled>
</snapshots>
</pluginRepository>
</pluginRepositories>
</profile>
<activeProfiles>
<activeProfile>dev</activeProfile>
</activeProfiles>
这里server中有3个配置,这是根据需要来配置的,id为fspirit的为公共的group,对应nexus中http://ip:port/nexus/content/groups/public
的这个地址,如果说只需要拉代码,则只配置第一个id为fspirit的server就足够了,
如果要上传jar包,则需要对应具体的上传地址,需要配置下面两个fspirit-release和fspirit-snapshots的地址,上传时配置文件中的id和此处的id必须一一对应。
引用jar包
在pom.xml中加入下面代码
<repositories>
<repository>
<id>fspirit</id>
<url>http://ip/nexus/content/groups/public</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>true</enabled>
</snapshots>
</repository>
</repositories>
<pluginRepositories>
<pluginRepository>
<id>fspirit</id>
<url>http://ip:port/nexus/content/groups/public</url>
<releases>
<enabled>true</enabled>
</releases>
</pluginRepository>
</pluginRepositories>
上传jar包
可以先看看上传到具体哪个repository下,这里可以打开地址
http://ip:port/nexus/content/repositories/zhb-releases
看看具体的仓库地址,
准备好打包项目后,在项目pom.xml下加入
<distributionManagement>
<repository>
<id>fspirit-releases</id>
<url>http://ip:port/nexus/content/repositories/fspirit-releases</url>
</repository>
<snapshotRepository>
<id>fspirit-snapshots</id>
<url>http://ip:port/nexus/content/repositories/fspirit-snapshots</url>
</snapshotRepository>
</distributionManagement>
配置完成,mvn deploy即可,上传完成后,可以在上述网址中查看是否上传成功,依赖的坐标等。