我的项目需要一个新版本的maven构建插件的功能,用于某些的目标,但新版本在其他目标之一上失败(由于插件中的错误)。作为一个解决方法,直到错误修复,我想用旧版本的插件运行破碎的目标。 编辑:更具体地说,我需要使用版本1.1的gwt-maven-plugin和版本1.2-SNAPSHOT的所有其他目标运行generateAsync目标。
当我声明一个单独的插件版本来执行破碎的目标时,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>
答案 0 :(得分:2)
您必须不在POM中两次声明相同的插件。可能的是使用一个<plugin>
块和两个<executions>
,但这不会解决您的问题,因此,没有,无法实现您想要的效果。< / p>
但是你测试了gwt-maven-plugin 1.2发布候选版本吗?它已于今天在http://people.apache.org/~nicolas/staging/发布,投票开放时间为72小时,欢迎进行测试。也许您的问题已在此版本中得到解决(不确定,因为您没有提供有关问题的详细信息,因为我没有在插件的issue tracker中找到与gwt:generateAsync
相关的任何问题最近关闭或开放)。
如果您有issue tracker中未列出的特定问题,那么似乎是让人们了解它的最佳时机,特别是如果您希望在1.2版中解决它。球在你的球场上。
答案 1 :(得分:0)
我认为您所寻找的是插件配置中的阶段元素。 目标元素指示您要执行的插件的目标,阶段执行您想要的操作,以指示插件的目标应在哪个阶段执行。
您可以详细了解此here。