Maven 2 Maven 2可以在同一个项目中使用两个不同版本的构建插件吗?

Maven 2 Maven 2可以在同一个项目中使用两个不同版本的构建插件吗?,maven-2,Maven 2,我的项目需要一个新版本的maven build插件的特性来实现它的一些目标,但是新版本在另一个目标上失败了(由于插件中的错误)。作为一种解决方法,在bug被修复之前,我想用一个旧版本的插件来运行这个失败的目标编辑:更具体地说,我需要使用gwt maven插件的1.1版运行GenerateSync目标,并使用1.2-SNAPSHOT版运行所有其他目标 当我声明一个单独的插件版本来执行中断的目标时,Maven仍然使用中断的版本还有其他方法解决这个问题吗? <plugin> <gr

我的项目需要一个新版本的maven build插件的特性来实现它的一些目标,但是新版本在另一个目标上失败了(由于插件中的错误)。作为一种解决方法,在bug被修复之前,我想用一个旧版本的插件来运行这个失败的目标编辑:更具体地说,我需要使用gwt maven插件的1.1版运行GenerateSync目标,并使用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>

org.codehaus.mojo
GWTMaven插件
1.1
生成同步
...
org.codehaus.mojo
GWTMaven插件
1.2-1
编译
测试
...

我认为您需要的是插件配置中的阶段元素。 goal元素表示您希望执行插件的哪个目标,该阶段执行您希望执行的操作,即指示插件的目标应该在哪个阶段执行


您可以了解更多信息。

您必须不要在POM中两次声明相同的插件。可能的情况是使用一个
块和两个
块,但这无法解决您的问题,因此,,无法实现您想要的

但是您是否测试了gwt maven插件1.2候选版本?它今天在这里提供,投票开放72小时,欢迎测试。也许你的问题在这个版本中得到了解决(但不确定,因为你没有提供关于这个问题的详细信息,而且我在最近关闭或打开的插件中没有发现任何与
gwt:generateAsync
相关的问题)


如果您有一个未在中列出的特定问题,那么现在似乎是让人们意识到它的最佳时机,特别是如果您希望在版本1.2中解决它。球在你的球场上。

所有的进球都在其默认的生命周期阶段运行,我同意这一点。问题是,我需要在插件的1.1版上运行一些目标,在1.2-SNAPSHOT版上运行其他目标。那么配置文件对你有用吗?你不可能一次完成两个目标,但我想这比手动更改pom要好得多。是的,我正在考虑配置文件——只是希望有一个更干净的解决方案。RC也会失败。刚刚发布了一个问题。很好的主动性。祝你好运