2012-08-15 47 views
3

在我的maven項目中,ant插件生成多個war文件,我想將它們全部附加在相同的工件中。我試過這樣的build-helper-maven-plugin如何通配符將多個文件附加到maven中的工件?

<plugin> 
<groupId>org.codehaus.mojo</groupId> 
<artifactId>build-helper-maven-plugin</artifactId> 
<version>1.7</version> 
<executions> 
<execution> 
<id>attach-artifacts</id> 
<phase>package</phase> 
<goals> 
    <goal>attach-artifact</goal> 
</goals> 
<configuration> 
<artifacts> 
<artifact> 
    <file>${project.build.directory}/*.war</file> 
    <type>war</type> 
</artifact>     
</artifacts> 
</configuration> 
</execution> 
</executions> 
</plugin> 

我不想單獨指定每個war文件,因爲ant插件是動態的。有沒有辦法做到這一點?

感謝,

回答

0

提供單文物通配符似乎並沒有被建立幫助插件的支持(順便說一句,如果它沒有,它可能會使用包含/排除配置used by Resources Plugin)。

我瞭解到,如果您選擇使用Maven,最好將您的構建調整爲「Maven方式」。

在這種情況下,您應該修改您的版本以不使用ant war插件,而是爲每個war文件使用單獨的模塊(子項目)構建多模塊版本。

或者,在過去,我已經通過Maven Assembly plugin完成了一些類似的工作,其中戰爭都是在一個tar/gz文件中一起發送。存檔(其中包含每個戰爭)然後附加到構建。

請注意,您應該更願意讓您的「網絡應用程序」模塊具有工件類型「pom」。程序集插件會將檔案附加到最終版本。

欲瞭解更多信息,我發現,Sonatype的在線書籍是一個很好的資源: http://www.sonatype.com/Support/Books

+0

我已經檢查集結幫手 - Maven的插件的代碼,它不會爲通配符支持。將所有戰爭打包成jar是一個有趣的想法,但它爲我的部署過程添加了額外的步驟。 – 2012-08-15 16:16:52

+0

你不會將戰爭打包成jar,你可以將它們打包成一個tar/gz文件。然後你的額外步驟將由'tar xvzf'組成 - 我仍然認爲多模塊構建方法是可行的。 – noahlz 2012-08-15 16:31:15

相關問題