[英]get maven clean install to work like maven clean + maven install
我有以下項目層次結構:
app
|-module1
| |-pom.xml
|-module2
| |-pom.xml
|-pom.xml
Module1和module2都將文件復制到相同的目標目錄,因此我使用應用程序的pom.xml清除了該目錄。 我的問題是,現在的執行順序是module1 [clean],module1 [install],module2 [clean],module2 [install],app [clean],app [install],因此,module1和module2放入該目錄的所有內容都會被刪除。
我想讓它先執行所有清理,然后執行所有安裝,即使我運行mvn clean install。 或者,如果在module1 [install]和module2 [install]之前還有另一種執行app [clean]的方法,那也可以。
編輯
我最終制作了一個單獨的模塊(Netbeans POM projekt),可以單獨清潔。 不是我所希望的解決方案,但它現在可以使用。
問題的根源在於,您試圖使Maven做一些與Maven的多模塊“約定”相矛盾的事情,並且與Maven對“目標目錄”的“理解”相抵觸。 Maven的反應堆按其操作方式運行是有原因的,它是為了保留Maven的“精神”(或“慣例”),即在多模塊構建中如何構造模塊。
在Maven中, target
目錄應該僅屬於一個項目:每個項目都有自己的target
目錄。 在您的方案中,應為app
, module1
和module2
確實存在一個不同的target
目錄。
為了實現目標並保持構建過程的靈活性,我認為最好的選擇是:
module1
將自己的JAR輸出到其自己的target
目錄( module1/target
)中。 module2
將自己的JAR輸出到自己的target
目錄( module2/target
)中。 app
(父模塊)添加一個插件,該插件會將需要的東西從module1/target
和module2/target
收集到app/target
,並對這些工件進行任何處理。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.