最近我们将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/