为什么?
为什么仅上传依赖JAR,不上传成果包JAR/WAR?
假设仅有 1套nexus作为依赖库,开发人员或者集成服务喜欢使用deploy直接上传。
没有任何特殊配置的情况下,deploy会把构建后的jar(依赖)、war/jar(成果或制品)都上传至nexus。
1.混淆nexus的地位,作为依赖库的,同时变成制品仓库。不利于权限管控。
2.增加nexus的负担,一个制品通常都在几百M ,上传下载增加带宽和nexus机器IO的负荷。
3.不产生价值,作为一个依赖库。不会使用到已上传的制品。
4.所有依赖JAR都上传至nexus,调用方依赖不清晰。
怎么做?
除特定项目module外,如xxx-api。其他均添加下述配置:
配置方式:对应项目module的pom.xml 添加下述配置即可
配置方式一:
<properties>
<maven.deploy.skip>true</maven.deploy.skip>
</properties>
配置方式二:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-deploy-plugin</artifactId>
<version>2.8.2</version>
<configuration>
<skip>true</skip>
</configuration>
</plugin>