java - 从父 pom 的插件执行中删除一个目标

标签 java maven

最近我们将maven版本更改为3.5.4 根据https://issues.apache.org/jira/browse/MNG-5940

Maven Super POM 中的 maven-source-plugin jar 目标已更改为 jar-no-fork

我们有公司主 pom:

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-source-plugin</artifactId>
    <version>3.0.1</version>
    <executions>
        <execution>
            <id>attach-sources</id>
            <goals>
                <goal>jar</goal>
            </goals>
        </execution>
    </executions>
</plugin>

哪一个是我无法改变的。 与我得到的有效pom中的maven super pom一起

<plugin>
  <artifactId>maven-source-plugin</artifactId>
  <version>3.0.1</version>
  <executions>
    <execution>
      <id>attach-sources</id>
      <goals>
        <goal>jar-no-fork</goal>
        <goal>jar</goal>
      </goals>
    </execution>
  </executions>
  <inherited>true</inherited>
</plugin>

在发布期间生成两次源(一个文件覆盖第二个文件),但在部署到 Artifactory 时我收到错误,因为没有覆盖 Artifact 的权限。

我可以配置一些如何我的 pom 来禁用插件的一个目标吗?

最佳答案

您需要从父pom中删除执行(删除默认阶段就足够了)并添加具有新目标的新执行:

<plugin>
  <groupId>org.apache.maven.plugins</groupId>
  <artifactId>maven-source-plugin</artifactId>
  <version>3.0.1</version>
  <executions>
    <execution>
      <id>attach-sources</id>
      <phase/>
    </execution>
    <execution>
      <id>custom-attach-sources</id>
      <goals>
        <goal>jar-no-fork</goal>
      </goals>
    </execution>
  </executions>
  <inherited>true</inherited>
</plugin>

关于java - 从父 pom 的插件执行中删除一个目标,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57920117/

相关文章:

java - 并行自动化测试和线程安全变量

java:如何获得我的带宽

java - Optaplanner 跳过阶段并返回空解决方案

java - 无法从 http : maven-artifact-manager:pom:2. maven.apache.org/maven2 传输 org.apache.maven ://repo. 0.6

maven - 不可解析的父 POM

java - 将 Java Lombok 集成到 Bitbucket 管道中

java - Auth.net Java SDK 中 com.auth.net.commons.authorize.net.GetSettledBatchList.main 线程 "main"java.lang.NullPointerException 中出现异常

java - 如何在android中使用加速度计跟踪路径?

Java 和队列 : saturation issues with multithreaded I/O

GWT 不加载 *.nocache.js