我有一個項目的結構像在Maven項目中組裝模塊資源的正確方法是什麼?
module-a/src/main/java
module-a/src/main/styles
module-distribution/src/main/assembly
模塊分佈取決於模塊一個,他們都共享父POM,幷包括在該父POM模塊。
的想法是有一個裝配佈局像
my-final-assembly/lib
my-final-assembly/styles
其中lib目錄包含所有項目工件,包括依賴(即模塊a.jar文件及其依賴罐),和模塊a.jar文件不應該包含它的樣式目錄。樣式目錄應該駐留在my-final-assembly/styles中。
我可以填寫lib目錄很容易包括
<dependencySet>
<useProjectArtifact>false</useProjectArtifact>
<outputDirectory>lib</outputDirectory>
</dependencySet>
在我的彙編文件
。但是,module-a/src/main/styles呢? 我可以
- 它包括在模塊-一個工件(它將駐留在模塊a.jar文件)
- 不包括它在模塊a.jar文件。
當然,1)和2)對我來說都是無效的。在第一種情況下,我必須以某種方式從我的module-a.jar中提取styles目錄。在第二種情況下,styles目錄根本不會被複制,因爲僅複製工件,而不是整個目標文件夾。
我有最後的手段爲樣式目錄內容創建一個單獨的模塊,並使模塊依賴於它,但對我來說看起來像是一種矯枉過正。雖然在這種情況下調整我的彙編文件以獲得我想要的內容很容易。但是單獨的模塊需要單獨一個字體和xmls模塊?如果這就是你所說的Maven Way,那我會很傷心。
感謝提示,Pascal! 該項目有一堆依賴關係,module-a不是唯一的,因此我選擇了第二種方法。 我用程序集id「with-styles」打包module-a.zip: module-a-with-styles.zip/lib/module-a。jar, module-a-with-styles.zip/styles 然後在final-assembly.xml中做了一些調整後,我得到了我的預期。 順便說一句,作爲問題的答案,是否會將我的工作解決方案的詳細信息公佈於衆,以便所有人都能看到它?這個評論區域不允許格式不對 – zamza 2010-03-26 22:17:16
@zamza不客氣。關於你的問題,你的實現可能有點特定,但如果你認爲它可以被其他人重用,請不要猶豫。具體與否,它不會傷害。 – 2010-03-26 22:22:40