1. Servers 配置认证信息
在Maven settings.xml中添加Nexus认证信息:
<server>
<id>nexus-releases</id>
<username>army</username>
<password>armyqin</password>
</server>
<server>
<id>nexus-snapshots</id>
<username>army</username>
<password>armyqin</password>
</server>
- nexus-releases: 用于发布Release版本
- nexus-snapshots: 用于发布Snapshot版本
Release版本与Snapshot版本的区分:
Release: 4.3.0 Snapshot: 4.3.0-SNAPSHOT
- 在项目POM.xml中设置的版本号添加SNAPSHOT标识的都会发布为SNAPSHOT版本,没有SNAPSHOT标识的都会发布为Release版本。
- SNAPSHOT版本会自动加一个时间作为标识,如:
4.3.0-SNAPSHOT发布后为变成4.3.0-SNAPSHOT-20160712.114532-1.jar
2. 配置自动化部署构件
在POM.xml中添加以下代码:
<distributionManagement> <repository> <id>nexus-releases</id> <name>Nexus Release Repository</name> <url>http://mvn.army16.com/repository/maven-releases/</url> </repository> <snapshotRepository> <id>nexus-snapshots</id> <name>Nexus Snapshot Repository</name> <url>http://mvn.army16.com/repository/maven-snapshots/</url> </snapshotRepository> </distributionManagement>
注意事项:
- ID名称必须要与settings.xml中Servers配置的ID名称保持一致。
- 项目版本号中有SNAPSHOT标识的,会发布到Nexus Snapshots Repository, 否则发布到Nexus Release Repository,并根据ID去匹配授权账号。
3. 部署到Nexus仓库
mvn deploy
4. 上传第三方JAR包
C:\Windows\System32>mvn deploy:deploy-file -DgroupId=com.tts.lib -DartifactId=tts-jlib -Dversion=0.2.3 -Dpackaging=jar -Dfile=C:\Users\phoenix\Downloads\tts-jlib-0.2.3.jar -Durl=http://mvn.army16.com/repository/tts-host/ -DrepositoryId=nexus-releases
注意事项:
- 建议在上传第三方JAR包时,创建单独的第三方JAR包管理仓库,便于管理有维护。(maven-3rd)
-DrepositoryId=nexus-releases对应的是settings.xml中Servers配置的ID名称。(授权)
5. 使用代理中央仓库
<repositories>
<repository>
<id>nexus</id>
<name>Nexus Repository</name>
<url>http://mvn.army16.com/repository/tts-host/</url>
<snapshots>
<enabled>true</enabled>
</snapshots>
<releases>
<enabled>true</enabled>
</releases>
</repository>
</repositories>
<pluginRepositories>
<pluginRepository>
<id>nexus</id>
<name>Nexus Plugin Repository</name>
<url>http://mvn.army16.com/repository/tts-host/</url>
<snapshots>
<enabled>true</enabled>
</snapshots>
<releases>
<enabled>true</enabled>
</releases>
</pluginRepository>
</pluginRepositories>
注意事项:
- 在开发中如果有严格的管理要求,可将SNAPSHOT和RELEASE单独配置。
- 有插件依赖时配置插件仓库,默认会使用Maven中央仓库