[英]Maven Internal Repository, Is it Really This Hard?
我有幾個使用Maven的項目,我想在我的工作網絡上運行一個內部存儲庫。 我有幾個來自第三方的庫,不能發布到野外,還有一些我們自己的庫需要在網絡中可用(包括我們的TeamCity CI服務器),但不能在網絡外部署。 經過一些研究,我發現了三個關於如何實現這一目標的主要建議:Archiva,Artifactory和Nexus。 我已經嘗試了每個,並且未能使用其中任何一個創建的內部存儲庫成功構建我的任何項目。
這讓我相信我誤解了某些事情或做錯了什么。 有沒有人知道一個教程,它將引導我完成設置和內部Maven存儲庫並將其與我的項目集成?
我只使用過Nexus,但我發現它很容易安裝:
那時,我可以訪問http://myserver:8080/nexus
來查看一切正常。
對於表面設置,我將默認密碼添加到我的settings.xml
:
<servers>
<server>
<id>my-snapshots</id>
<username>admin</username>
<password>admin123</password>
</server>
<server>
<id>my-releases</id>
<username>admin</username>
<password>admin123</password>
</server>
</servers>
在我的POM文件中:
<distributionManagement>
<snapshotRepository>
<id>my-snapshots</id>
<name>My internal repository</name>
<url>http://myserver:8080/nexus/content/repositories/snapshots</url>
</snapshotRepository>
<repository>
<id>my-releases</id>
<name>My internal repository</name>
<url>http://myserver:8080/nexus/content/repositories/releases</url>
</repository>
</distributionManagement>
為了超越這個,學習曲線跳了很多,但我發現Sonatype的在線書籍非常好。 使用Nexus進行存儲庫管理是了解如何使用存儲庫服務器執行的操作。 我發現唯一棘手的問題是,有些信息僅適用於他們的商業軟件,而且他們並不太努力地宣傳差異。
像Archiva和Nexus這樣的知識庫管理器不僅僅是一個內部存儲庫。 它們作為代理,可以避免與Maven中心或其他外部存儲庫聯系。
對於內部存儲庫,您只需要一個具有Maven存儲庫結構的網絡或HTTP可訪問位置。 然后,您將其稱為設置文件中的另一個存儲庫 。
<repository>
<id>my-internal-repo</id>
<url>http://myrepo.mycompany.com/</url>
</repository>
有關Maven文檔的更多信息,請訪問http://maven.apache.org/guides/introduction/introduction-to-repositories.html 。
我建議使用Nexus評估指南 (最新版本現在是2.13 ),它與Nexus Pro安裝程序一起使用 ,但也可以與Nexus Open Source一起使用,用於代理和部署組件的簡單用例。
這些示例也可以在github上獲得 ,包括Maven,Ant / Ivy和Gradle的設置。 一旦您查看了示例並閱讀了指南,您就可以輕松地以相同的方式設置項目。
當然,如果有任何問題,您可以隨時在郵件列表上詢問或與開發人員聊聊
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.