2010-03-05 179 views
7

如果我在我的項目中有6個模塊,是否可以只構建六個模塊中的一個?沒有評論其他人?多模塊maven項目

編輯

子模塊將無法正常工作itselft因爲或父標籤。我需要先安裝父級以使其生成。我怎麼能沒有安裝父母

回答

10

是否有可能只建立六個中的一個?沒有評論其他人?

我的理解是,你想從聚合項目(即反應堆構建)啓動maven,但只建立一個模塊。這是可能的使用-pl--projects項目列表選項(參見advanced reactor options):

mvn --projects my-submodule install 

這是一個非常強大的選擇,特別是當結合--aslo-make(也建項目在其上列出的模塊取決於)還是--also-make-dependents(也用於構建依賴於所列模塊的項目)。在您更新的基礎上,你可能真的要這樣:

mvn --projects my-submodule --also-make install 

從要構建模塊的目錄啓動Maven是當然的選擇,但是這不會讓你做上述的事情也不建立所有模塊的子集。對於這種使用情況,先進的反應堆選項是可行的。

3

打開命令shell,導航到子模塊目錄並執行mvn install(或任何您的首選生命週期)應該做的伎倆。

+1

+1對於簡單的方法。 – Robin 2010-03-05 15:49:13

+0

@PéterTörökI更新了我的問題..您的解決方案迄今爲止最簡單..我無法構建子模塊..我需要先安裝父模塊,因爲子模塊不會自己工作,因爲或父標籤。 – 2010-03-05 15:59:40

+0

@Gandalf StormCrow那是一個比較複雜的故事......我站在一邊虛心看@Pascal表演他的魔法:-) – 2010-03-05 16:30:13

2

您可以通過進入該模塊目錄並運行mvn clean install來簡單地構建模塊。

但是,請注意,使用此方法時,其他模塊的依賴關係將從您的本地存儲庫(或企業存儲庫)中獲取。

讓我們舉一個簡單的例子:

project 
    + commons 
    + business 

現在,假設你建立,在目錄整個項目,使用mvn clean install命令。考慮你所有的模塊版本是1.0

現在,您將轉到版本1.1。如果僅在business項目上運行mvn clean install,它將嘗試獲取模塊commons1.1。然後你會有一個錯誤,因爲Maven在本地存儲庫中找不到任何版本1.1

0

在Eclipse中,假設您安裝了m2eclipse:右鍵單擊相關模塊並選擇Run As - > Maven package。