2011-01-27 140 views
1

我有maven多模塊項目。在父級,我有一些java文件。而在父pom.xml中,在包階段我會做一些事情。如何在maven多模塊項目中只運行父pom.xml

通常,當我在父級別運行mvn包時,父級pom的包階段將運行並且所有模塊也將被打包。

我正在尋找一種方式,讓我做這些(當我運行mvn包):

  • 讓我只運行括號的pom.xml(在封裝階段腳本),而不是模塊。這是第一優先。
  • 允許我運行paren pom.xml和一些特定的模塊(如模塊1,模塊2但不是模塊3,模塊4)。

我可以使用配置文件的這些問題?

感謝。

回答

1

爲什麼你想在頂層有java代碼?在我看來,這不是一個好主意。在子項目中提供代碼,讓頂層項目負責保存整個項目的一般信息和配置。

如果您現在在頂級項目中有一些基本庫代碼,則可以將它放在子項目中並設置項目之間的依賴關係。

+0

我有幾個多模塊項目的網站文檔是在項目的根目錄/ src/site/markdown(與父pom相同的級別)。能夠運行'mvn site -N'意味着我可以迭代我的呈現文檔,而不必構建每個子模塊。 – efelton 2017-11-10 20:28:47

6

雖然我的事實,你可能不會有最佳的項目結構達成一致意見,得到的答覆是,Maven的2.2.1具有滿足您的第一項要求的選項「--non遞歸」:

-N,--non-recursive Do not recurse into sub-projects 

所以這樣的事情:

mvn --non-recursive clean compile 
相關問題