搭建好私服后,需要在~/.m2/settings.xml中配置私服仓库用户名密码,在工程的pom.xml中配置仓库地址
~/.m2/settings.xml
<servers>
<server>
<id>nexus-snapshot</id>
<username>admin</username>
<password>admin_password</password>
</server>
<server>
<id>nexus-release</id>
<username>admin</username>
<password>admin_password</password>
</server>
</servers>
工程pom.xml中
<distributionManagement>
<snapshotRepository>
<id>nexus-snapshot</id>
<name>repo-snapshot</name>
<url>http://localhost:8081/repository/maven-snapshots/</url>
</snapshotRepository>
<repository>
<id>nexus-release</id>
<name>repo-release</name>
<url>http://localhost:8081/repository/maven-releases/</url>
</repository>
</distributionManagement>
注意distributionManagement标签中的id要与servers中的id对应
一般来说,我们上传都可以省略Test这一步,所以可以使用这个命令
mvn deploy -DskipTests
-DskipTest会跳过test代码运行
也可以
mvn deploy -Dmaven.test.skip=true
-Dmaven.test.skip=true,既跳过测试代码编译,也跳过测试代码执行。而-DskipTests只跳过测试代码执行。
执行上述命令后,如果遇到这个异常
... was cached in the local repository, resolution will not be reattempted until the update interval of nexus has elapsed or updates are forced
说明,插件或者依赖包由于更新策略而没有更新下来,可以设置设置更新策略为总是更新。
<updatePolicy>always</updatePolicy>
具体如下
<profile>
<id>nexus</id>
<repositories>
<repository>
<id>central</id>
<url>http://repo.maven.apache.org/maven2</url>
<releases>
<enabled>true</enabled>
<updatePolicy>always</updatePolicy>
</releases>
<snapshots>
<enabled>true</enabled>
<updatePolicy>always</updatePolicy>
</snapshots>
</repository>
</repositories>
<pluginRepositories>
<pluginRepository>
<id>central</id>
<url>http://repo.maven.apache.org/maven2</url>
<releases>
<enabled>true</enabled>
<updatePolicy>always</updatePolicy>
</releases>
<snapshots>
<enabled>true</enabled>
<updatePolicy>always</updatePolicy>
</snapshots>
</pluginRepository>
</pluginRepositories>
</profile>