我們有一個當前產生WAR文件的Maven構建版本(版本2.2.1)。我們的輸出目錄是target/
,所以我們最終得到了構建工件target/MyWar.WAR
。將Maven配置文件與WAR-Packaged產品配合使用
我在我們的POM.xml文件中添加了兩個配置文件,以便於每個需要特定版本的A.xml
文件的特定版本「風味」。在中間構建目錄target/MyWar/
有3個文件:
A.xml
A_1.xml
A_2.xml
大廈的Maven沒有指定配置文件應使用A.XML,目前它。我想使用maven-antrun-plugin
(對於配置文件1)將A.xml替換爲A_1.xml,對於配置文件2,將A.xml替換爲A_2.xml。 (卸下_1和_2後綴。)
這是資料1的執行的例子:
<profile>
<id>Profile1</id>
<build>
...
<execution>
<id>Profile1-Replace</id>
<phase>package</phase>
<goals>
<goal>run</goal>
</goals>
<configuration>
<tasks>
<delete
file="${project.build.outputDirectory}/../MyWar/A.xml" />
<copy
file="${project.build.outputDirectory}/../MyWar/A_1.xml"
tofile="${project.build.outputDirectory}/../MyWar/A.xml" />
</tasks>
</configuration>
</execution>
...
</build>
</profile>
這正確地代替了中間目標/ MyWar /目錄中的文件,但由於某種原因,最終WAR那正在製作target
確實不是反映了這些變化。
就好像在'包'階段運行太晚了,戰爭已經建成。將階段更改爲'compile'或'test',即前一階段,因爲A.xml文件(和中間構建目錄)甚至還沒有創建。
Maven 2或Maven 1? Maven 2哪個版本?我相信在Maven 2的最新版本中,元素中的插件順序決定了插件在處於相同階段時的運行順序。 –
Pace
2011-02-11 01:25:12
Maven 2.2.1,更新了我的問題。 – 2011-02-11 16:23:27