2

我正在使用maven-shade-plugin创建一个包含所有依赖项的附加 jar。阴影阶段与包阶段相关联,因此每次执行mvn package.

但是,我不希望这个 jar-with-dependencies 在mvn deploy. 我怎样才能避免这种情况?

4

2 回答 2

3

实现此目的的最佳解决方案是将 maven-shade-plugin 配置放入在部署阶段未激活的配置文件中。

于 2013-06-11T10:52:07.350 回答
1

出于同样的需要,我从 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

于 2018-07-28T08:57:55.547 回答