我配置了以下maven war插件,但我只创建了一个输出目录:
<plugin>
<artifactId>maven-war-plugin</artifactId>
<version>2.2</version>
<configuration>
<outputDirectory>C:\EclipseWorkspace\my_path\myPath2</outputDirectory>
</configuration>
<executions>
<execution>
<id>default-war</id>
<phase>package</phase>
<goals>
<goal>war</goal>
</goals>
</execution>
</executions>
</plugin>
如何配置此插件以创建两个输出目录,例如?
答案 0 :(得分:3)
首先,我强烈建议您不要将输出目录覆盖为&#34; target /..."以外的其他目录。 Maven遵循惯例,虽然您可以将其配置为远离约定,但它确实意味着您必须远离常规位置配置所有。
现在,如果要复制工作,只需添加第二次执行即可。为此,您需要两个不同的执行ID。
<executions>
<execution>
<id>default-war</id>
<phase>package</phase>
<goals>
<goal>war</goal>
</goals>
</execution>
<execution>
<id>additional-war</id>
<phase>package</phase>
<goals>
<goal>war</goal>
</goals>
</execution>
</executions>
要让它们具有不同的配置,请在执行时添加本地配置差异。
<executions>
<execution>
<id>default-war</id>
<phase>package</phase>
<goals>
<goal>war</goal>
</goals>
<configuration>
... stuff specific to the first war ...
</configuration>
</execution>
<execution>
<id>additional-war</id>
<phase>package</phase>
<goals>
<goal>war</goal>
</goals>
<configuration>
... stuff specific to the second war ...
</configuration>
</execution>
</executions>
请注意,这不会为单个war文件创建两个输出目录,而是将战争重新打包两次到两个不同的输出目录。这是一个很好的细节,但偶尔也很重要。