我正在使用maven-shade-plugin创建一个包含所有依赖项的附加 jar。阴影阶段与包阶段相关联,因此每次执行mvn package
.
但是,我不希望这个 jar-with-dependencies 在mvn deploy
. 我怎样才能避免这种情况?
我正在使用maven-shade-plugin创建一个包含所有依赖项的附加 jar。阴影阶段与包阶段相关联,因此每次执行mvn package
.
但是,我不希望这个 jar-with-dependencies 在mvn deploy
. 我怎样才能避免这种情况?
实现此目的的最佳解决方案是将 maven-shade-plugin 配置放入在部署阶段未激活的配置文件中。
出于同样的需要,我从 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 所有工件都从部署中排除,而这里的目标是仅从附加的工件中排除特定的工件。在我的 fork 中,我引入了skipAttachedArtifacts配置参数,以便指定要从部署中排除的附加工件。
这是我在 GitHub 上的分叉项目的链接: https ://github.com/gregorycallea/maven-deploy-plugin
这里是我在 apache 插件项目上提交的拉取请求的链接: https ://github.com/apache/maven-deploy-plugin/pull/3