从部署到Nexus中排除jar-with-dependencies

时间:2013-06-09 04:25:28

标签: maven maven-shade-plugin

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

但是,我不希望在mvn deploy期间将此依赖jar的内容部署到Nexus。我怎么能避免这个?

2 个答案:

答案 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