2012-03-13 126 views
2

是否有可能将maven war插件输出到两个不同的位置?我目前在我的pom中有以下内容。Maven war插件

<plugin> 
    <groupId>org.apache.maven.plugins</groupId> 
    <artifactId>maven-war-plugin</artifactId> 
    <version>2.1.1</version> 
    <executions> 
     <execution> 
     <phase>compile</phase> 
     <goals> 
      <goal>exploded</goal> 
     </goals> 
     </execution> 
    </executions> 
    <configuration> 
     <webappDirectory>${webappDirectory}</webappDirectory> 
    </configuration> 
</plugin> 

这在POM的GWT Maven原型是已经存在的,而且我猜这一切都爆炸成webappDirectory(其中GWT插件,那么对于它的发展模式使用)。

当我做了

mvn war:war 

它产生在目标目录我这样的战争文件。所以,我怀疑它的一个不同于我的POM中的插件配置(默认行为?)。我如何覆盖这个?

我基本上要做到以下几点:

我想有两个不同的资源文件夹“的src /资源/ a”和“SRC /资源/ B”,并在所使用的一个文件夹(当前在我的pom中)以及当我执行“mvn war:war”时使用的另一个版本

回答

3

通过这个问题How to execute maven plugin execution directly from command line?,当您直接调用插件(例如mvn war:war)时,Maven不使用pom配置。当调用编译阶段(即运行mvn [phase]阶段为compile或更高版本时)时,您的POM配置告诉Maven运行exploded目标。

我建议你使用一个单独的配置文件进行爆炸部署(称为例如展开),使用资源插件的不同配置来复制不同的资源目录。然后使用mvn compile -Pexploded作为分解版本。