我正在使用maven-shade-plugin创建一个包含所有依赖项的附加jar。阴影阶段与包阶段相关联,因此每次执行mvn package
时都会创建与依赖jar的依赖关系。
但是,我不希望在mvn deploy
期间将此依赖jar的内容部署到Nexus。我怎么能避免这个?
答案 0 :(得分:1)
用于此目的的最佳解决方案是将maven-shade-plugin配置放入在部署阶段未激活的配置文件中。
答案 1 :(得分:0)
出于同样的需要,我从GitHub分叉了 maven-deploy-plugin 插件进行更改,以便从部署中排除特定的附加工件,如下所示:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-deploy-plugin</artifactId>
<version>3.0.0-SNAPSHOT</version>
<configuration>
<skipAttachedArtifacts>
<artifact>
<groupId>com.sample</groupId>
<artifactId>something</artifactId>
<version>${project.version}</version>
<packaging>jar</packaging>
<classifier>shaded</classifier>
</artifact>
</skipAttachedArtifacts>
</configuration>
</plugin>
当前使用 maven-deploy-plugin 插件,并且将 skip 参数设置为true,所有工件都不会部署,而目标是仅从部署中排除特定对象。附加的。在我的叉子上,我介绍了 skipAttachedArtifacts 配置参数,以指定要从部署中排除的附加工件。
这是我在GitHub上的分支项目上的链接: https://github.com/gregorycallea/maven-deploy-plugin
这里是我在apache插件项目上提交的拉取请求的链接: https://github.com/apache/maven-deploy-plugin/pull/3