我爲我的個人項目廣泛使用了Maven,但現在我必須爲5-7個開發者組建一個小團隊。爲團隊設置Maven
我的主要問題是,什麼是管理商業圖書館的依賴項的建議方法,在Maven回購協議中不可用?我如何管理這些商業庫對他們使用的開源庫的依賴性,並且可以在Maven repos中獲得?
另外,是否還有其他建議和建議,我應該瞭解或實施以使設置儘可能高效,有效且流暢?
在此先感謝。
我爲我的個人項目廣泛使用了Maven,但現在我必須爲5-7個開發者組建一個小團隊。爲團隊設置Maven
我的主要問題是,什麼是管理商業圖書館的依賴項的建議方法,在Maven回購協議中不可用?我如何管理這些商業庫對他們使用的開源庫的依賴性,並且可以在Maven repos中獲得?
另外,是否還有其他建議和建議,我應該瞭解或實施以使設置儘可能高效,有效且流暢?
在此先感謝。
您可能想要使用Nexus或Artifactory設置您自己的內部Maven存儲庫。將其配置爲您自己的構件的存儲庫,並將其配置爲Central的高速緩存代理以及您需要從中提取內容的任何其他外部存儲庫。
然後爲每個商業庫創建僅二進制POM文件,包括依賴於他們所依賴的已發佈庫。以所需的結構將POM文件和相應的JAR文件上傳到您的內部存儲庫。只要確保這些POM和JAR在您的組織/組織之外不可見......取決於各個商業產品的許可證允許/要求的內容。
當然,這意味着您將無法通過Maven公開提供您的應用程序(取決於這些庫)。但是你可能已經將這個考慮在了你的計劃中。
你**可以**讓你的應用程序公共的,但你的消費者需要像你一樣將私有POM + JAR添加到他們自己的存儲庫(或代理)中。 – 2010-05-29 04:58:27
@Chris - 同意了,但是這是一個** LOT **來問你的軟件的消費者! – 2010-05-29 05:08:42
謝謝。任何其他建議和建議? – Behrang 2010-05-29 06:35:25
我強烈建議使用超parent pom一些常見的設置,如
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<inherited>true</inherited>
<configuration>
<source>1.6</source><!-- java version -->
<target>1.6</target>
<encoding>UTF-8</encoding><!-- your source encodings -->
<debug>true</debug><!-- false for production -->
<optimize>false</optimize><!-- true for production -->
<showDeprecation>true</showDeprecation>
</configuration>
</plugin>
其實有很多的那些「普通」的設置(報告插件),一個父POM保證所有使用相同的和變化到達全部
還有什麼 - 除了自己的maven回購(嘗試nexus) - ?
我上建立一個Maven回購之前的答案可能是也有幫助http://stackoverflow.com/questions/1039362/tips-for-maintaining-an-internal-maven-repository/1650403#1650403 – sal 2010-06-01 19:26:11
添加標籤maven-2作爲maven暗示maven 1 – 2010-06-02 08:41:25