Maven 私服配置
上传
-
将项目发布到私服 ,修改 settings.xml 文件,配置连接私服的用户和密码 。此用户名和密码用于私服校验,因为私服需要知道上传的账号和密码是否和私服中的账号和密码一致。
-
releases 连接发布版本项目仓库
snapshots 连接测试版本项目仓库
<servers>
<server>
<id>releases</id>
<username>admin</username>
<password>admin123</password>
</server>
<server>
<id>snapshots</id>
<username>admin</username>
<password>admin123</password>
</server>
<server>
<id>thirdparty</id>
<username>admin</username>
<password>admin123</password>
</server>
</servers>
- 第二步: 配置项目pom.xml
- 配置私服仓库的地址,本公司的自己的jar包会上传到私服的宿主仓库,根据工程的版本号决定上传到哪个宿主仓库,如果版本为release则上传到私服的release仓库,如果版本为snapshot则上传到私服的snapshot仓库
- 注意:pom.xml这里 和 settings.xml 配置 对应!
- 对工程执行deploy命令完成上传。
<groupId>nts.natasha</groupId>
<artifactId>nts_01</artifactId>
<version>1.0-SNAPSHOT</version>
<packaging>war</packaging>
<distributionManagement>
<repository>
<id>releases</id>
<url>http://192.168.100.102:8081/nexus/content/repositories/releases/</url>
</repository>
<snapshotRepository>
<id>snapshots</id>
<url>http://192.168.100.102:8081/nexus/content/repositories/snapshots/</url>
</snapshotRepository>
</distributionManagement>
下载
-
在客户端的setting.xml中配置私服的仓库,由于setting.xml中没有repositories的配置标签需要使用profile定义仓库。
此文件可以在pom父目录配置,打包时候可以自动找到私服!!!
<profiles>
<profile>
<!--profile的id-->
<id>dev</id>
<repositories>
<repository>
<!--仓库id,repositories可以配置多个仓库,保证id不重复-->
<id>nexus</id>
<!--仓库地址,即nexus仓库组的地址-->
<url>http://192.168.100.102:8081/nexus/content/groups/public/</url>
<!--是否下载releases构件-->
<releases>
<enabled>true</enabled>
</releases>
<!--是否下载snapshots构件-->
<snapshots>
<enabled>true</enabled>
</snapshots>
</repository>
</repositories>
<pluginRepositories>
<!-- 插件仓库,maven的运行依赖插件,也需要从私服下载插件 -->
<pluginRepository>
<!-- 插件仓库的id不允许重复,如果重复后边配置会覆盖前边 -->
<id>public</id>
<name>Public Repositories</name>
<url>http://192.168.100.102:8081/nexus/content/groups/public/</url>
</pluginRepository>
</pluginRepositories>
</profile>
</profiles>
上传第三方JAR包
-
需要在maven软件的核心配置文件settings.xml中配置第三方仓库的server信息,以下配置不需要配置到服务器
-
才能执行以下命令,执行CMD
mvn deploy:deploy-file
-DgroupId=com.alibaba
-DartifactId=fastjson
-Dversion=1.1.37
-Dpackaging=jar
-Dfile=fastjson-1.1.37.jar
-Durl=http://localhost:8081/nexus/content/repositories/thirdparty/
-DrepositoryId=thirdparty
<server>
<id>thirdparty</id>
<username>admin</username>
<password>admin123</password>
</server>
- 还有一个方法,直接将整个目录下载之后,拷贝至 thirdparty/目录下可以直接上传私服