我使用Maven程序集插件來構建我們產品的WAR(以前由Ant完成)。由於Apache Ant有很多剩菜,因此有一個具體要求可以使構建過程變得更加簡單:將特定的依賴關係子文件夾(例如jar或war資源)複製到特定的目標子文件夾。Maven程序集:從依賴的特定子文件夾中複製
到目前爲止,我瞭解到程序集描述符允許指定<outputDirectory>
,但是有沒有機會指定<sourceDirectory>
?例如,我想將此規則應用於單個WAR或JAR類型依賴項。
考慮裝配描述符片段的這個例子中(不是100%準確):
<dependencySet>
<unpack>true</unpack>
<scope>runtime</scope>
<useProjectArtifact>false</useProjectArtifact>
<includes>
<include>my-specific-dependency:war</include>
</includes>
<outputDirectory>WEB-INF/myresources</outputDirectory>
</dependencySet>
我想說的是,我要到某個文件夾從我的特定的依賴複製:戰爭WEB-INF /爲MyResources 。
編輯注:我知道,這不是因爲我們不應該知道什麼是神器裏面一個非常正確的要求,正確的方法是宣佈以提取出完整的神器到目標目錄(純聲明方法)。
謝謝,您的評論幫助了很多。現在我希望改變使用maven-war-plugin和maven-dependency-plugin構建最終WAR的方式。我可以有多個元素引用相同的arifact,但有不同的和? –
2012-04-23 11:32:51
我想你可以嘗試一下。如果這不起作用,您仍然可以使用多個*執行*。 – nwinkler 2012-04-23 11:35:57
說實話,我提供的答案直接回答了原始問題。但你清楚地展示瞭如何用簡單而正確的解決方案來實現我的目標。 – 2012-04-23 15:46:33