2015-04-21 65 views
5

我在SO和Maven郵件列表上都看到了很多關於設置env參數maven.multiModuleProjectDirectory的喋喋不休的問題,但我無法準確理解這個設置的用途。什麼是maven.multiModuleProjectDirectory用於?

我搜索谷歌,maven網站,文檔等,但似乎無法找到一個參考,實際上解釋了什麼這個參數是,或如何利用它。

任何人都可以解釋它的目的和/或指向我的文檔嗎?它引入了哪個版本的maven?

回答

6

該環境變量已在Maven 3.3.1中引入,該腳本可從mvn腳本或mvn.cmd腳本中獲得。目的是找到可找到.mvn位置的多模塊結構的開始。

這是爲了在項目中進行配置而不是從外部進行配置。

看一看Maven 3.3.1 release notes.

+1

謝謝。我已閱讀完整的3.3.1發行說明,但沒有提及有關multiModuleProjectDirectory var的所有內容。所以,如果我正確地理解了這一點,給定'.mvn'文件夾中的設置,如果我試圖獨立地(而不是從根目錄)建立一個子模塊,我會指定這個變量,這樣maven可以找到我的'.mvn '在我的樹上。但是,如果我從項目根目錄啓動maven,則不再需要此var。正確? –

+1

建立一個子模塊是由'mvn -pl ...'完成的,它不會改變任何東西。除此之外,你不需要指定它,因爲它由腳本內部處理,這就是它在發行說明中沒有提到的原因,因爲你通常不需要爲此而煩惱。這是必要的,因爲它在內部用於查找多模塊構建的根文件夾。 – khmarbaise

+2

事實上,我可以使用'mvn -pl ...',但也可以直接在模塊子目錄中運行'mvn',而不是從多模塊根目錄運行。還是在多模塊構建中被認爲是不好的做法? –