我的项目需要新版本的 Maven 构建插件的功能来实现其某些目标,但新版本在其他目标之一上失败(由于插件中的错误)。作为修复错误之前的解决方法,我想使用旧版本的插件运行损坏的目标。 编辑:更具体地说,我需要使用 gwt-maven-plugin 的 1.1 版运行 generateAsync 目标以及使用 1.2-SNAPSHOT 版的所有其他目标。
当我声明一个单独的插件版本来执行损坏的目标时,Maven 仍然使用损坏的版本。有没有其他方法可以解决这个问题?
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>gwt-maven-plugin</artifactId>
<version>1.1</version>
<executions>
<execution>
<goals>
<!-- this goal is broken in 1.2-SNAPSHOT -->
<goal>generateAsync</goal>
</goals>
</execution>
</executions>
...
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>gwt-maven-plugin</artifactId>
<version>1.2-SNAPSHOT</version>
<executions>
<execution>
<goals>
<goal>compile</goal>
<!-- <goal>generateAsync</goal> -->
<goal>test</goal>
</goals>
</execution>
</executions>
...
</plugin>
Run Code Online (Sandbox Code Playgroud)
您不得在POM 中两次声明相同的插件。可能的是使用一个<plugin>块和两个块<executions>,但这不能解决您的问题,所以,不,没有办法实现您想要的。
但是您测试过 gwt-maven-plugin 1.2 候选版本吗?今天已在http://people.apache.org/~nicolas/staging/上发布,投票开放 72 小时,欢迎测试。也许您的问题在这个版本中得到了解决(不确定,因为您没有提供有关该问题的详细信息,并且我没有在最近关闭或打开的插件的问题跟踪器gwt:generateAsync中找到任何相关问题)。
如果您遇到问题跟踪器中未列出的特定问题,那么现在似乎是让人们意识到它的最佳时机,特别是如果您希望在 1.2 版本中解决该问题。球在你的球场上。