http://maven.apache.org/settings.html根據文檔,可以將用戶特定的設置複製到.m2文件夾或在maven安裝下。如果開發人員更改機器或獲取新的用戶標識,則必須手動將這些屬性複製到這些較新的機器。存儲庫中用戶特定的maven設置
是否有可能將用戶特定的設置信息存儲在存儲庫本身(比如說SVN),並以某種方式讓mvn腳本在啓動時加載它。
http://maven.apache.org/settings.html根據文檔,可以將用戶特定的設置複製到.m2文件夾或在maven安裝下。如果開發人員更改機器或獲取新的用戶標識,則必須手動將這些屬性複製到這些較新的機器。存儲庫中用戶特定的maven設置
是否有可能將用戶特定的設置信息存儲在存儲庫本身(比如說SVN),並以某種方式讓mvn腳本在啓動時加載它。
如果settings.xml
的內容不是該用戶特定的(例如mirrors
),您可以將整個Maven安裝存儲在SVN中,並自定義爲conf/settings.xml
,並讓開發人員從SVN抓取它,將其安裝在新機器上,如previous answer中所述。
如果settings.xml
的內容實際上是用戶特定的(例如它包含密碼等祕密內容),則它必須位於~/.m2
中,您必須以某種方式在新位置提供該內容。如果開發人員登錄另一臺機器,則可以使用「Roaming user profile」。如果開發者獲得了另一個ID,那麼您將不得不復制它。技術解決方案可能取決於所需的機密級別。
如果您有幾個開發者共享一個用戶標識但仍需要不同的settings.xml
,那麼您必須使用-s
選項將它傳遞給Maven。可以想象在這種情況下(假設它不包含敏感信息)存儲這些自定義settings.xml
在項目。例如:
mvn -s settings-user1.xml <goal>
不,用戶設置的重點是將它們存儲在Maven項目之外。但是,沒有什麼能夠阻止您創建自己的svn存儲庫並將您的配置文件存儲在那裏。您可以編寫一些shell腳本來從該存儲庫引導一個新的工作站,但這取決於您多久這樣做才能使其值得。
我建議您設置自己的存儲庫,如Archiva,Nexus或Artifactory。這將獲得您的依賴關係/插件,然後您可以使用mirror明確指定明確只需要一個存儲庫(您在網絡上設置的存儲庫)。因此,無論何時開發人員需要爲多個開發人員更換機器或依賴關係,內部鏡像可用作回購,您的依賴/插件將立即下載到您的本地存儲庫
我們還有一種情況,某些機器用戶ID在幾個開發人員之間共享,這使得問題更加嚴重。然後,每次他們想要使用該機器時,我都必須爲不同的用戶使用不同的settings.xml文件。 – Sam 2010-03-09 06:51:46