我有一些GitHub上託管的小型開源項目,我希望通過Maven爲其他人提供這些項目。我有一個小型網站,我可以託管靜態文件。我如何創建回購?另外,如果可能的話,我想從那裏刪除舊的快照。如何在沒有Nexus的情況下託管Maven repo
回答
我想我現在知道如何去做。我現在使用mvn deploy
在文件系統上創建本地存儲庫,然後將其上載到網絡服務器。如果我沒有錯,甚至不需要成爲文件列表。
我使用的命令是:
mvn deploy -DaltDeploymentRepository=local::default::file:./repo
這將創建/自動更新本地資源庫,因此回購可以與服務器同步。
Standard maven repository實現幾乎都是Tomcat的web應用程序。它們中的每一個都應該有一個靜態存儲庫,就像您的local repository一樣。 webapp用於搜索和管理存儲在該靜態存儲庫中的工件。
如果您希望僅以靜態Web訪問存儲庫,則必須手動執行管理,並提供一個靜態手動生成的html頁面,其中包含回購庫中所有工件的GAV coordinates。除非您提供密碼或啓用匿名FTP訪問權限,否則沒有其他用戶可上傳到存儲庫。
如果maven沒有嘗試上傳任何內容到回購庫,直到deploy
階段,那麼這種方法仍然部分可用,因爲運行mvn clean deploy
應該失敗。
您可以檢查是否是可行的這樣的(我想你必須在你的本地回購項目):
- 上傳本地repoistory文件夾到一個URL
- 測試鏡的目的您的中央回購該URL
- 嘗試從您的回購建立與依賴你的項目
打開settings.xml文件,並下<mirrors>
節點添加:
<mirror>
<url>http://your/url/repo</url>
<mirrorOf>*</mirrorOf>
</mirror>
並查看mvn clean install
是否成功。請反饋。
在這個SO answer中,我概述了我設置所有託管在Github中的OSS項目的方式。實際上,當您想要運行OSS項目時,您可以獲得許多免費服務。
如果您的插件經過充分測試並預計會給其他人帶來好處,我會建議發佈到Maven Central。您可以使用CloudBee的BuildHive作爲免費的Jenkins CI。
根據我的經驗,靜態回購非常有效。
我把我的本地資源庫放到了一個靜態的apache服務器上。合法回購。如果你已經有了一個普通的香草網絡主機,那麼當然不像維護真正的回購一樣容易,但要便宜得多。
除了正確設置權限(與瀏覽文件夾所需的相同)之外,這是一個非常輕鬆的過程。
我爲了使它更加合理而做的唯一兩件事是 1 - 在本地回購的大部分內容上寫了一個腳本爲「rm -rf ....」,以便我部署的唯一內容是那些在通用回購中不可用的那些少量文物。 2 - 在搜索到我的虛擬主機之前首先關注它。
希望這會有所幫助。
下面的人做了類似的事情,只使用FTP,如果他經常更新他的二進制文件,可以爲他節省大量的手工工作。
http://stuartsierra.com/2009/09/08/run-your-own-maven-repository
- 1. 如何在沒有iis的情況下自我託管wcf
- 2. 如何在沒有Jailbreaking的情況下在iOS上託管PHP腳本?
- 3. 如何在沒有請求的情況下獲取當前託管地址
- 4. 在沒有GUI的情況下從nexus刪除工件
- 5. Nexus和Maven:訪問Maven Central Repo?
- 6. 如何在沒有JWT idToken的情況下管理GITkit帳戶?
- 7. 如何在不加載CLR的情況下使用託管DLL?
- 8. 如何在沒有任何框架的情況下使用帶有Maven的webjar
- 9. 如何在沒有管理員的情況下創建標準的Maven倉庫目錄
- 10. 在沒有root權限的情況下管理git倉庫
- 11. 我可以在沒有HttpPlatformHandler的情況下託管ASP.Net 5應用程序嗎?
- 12. 是否可以在沒有Hibernate的情況下訪問Hibernate託管數據庫?
- 13. 在沒有下載git的情況下將Github Repo部署到Heroku
- 14. 在沒有自己的存儲庫的情況下使用Maven
- 15. 如何在github和gitlab上託管maven?
- 16. :如何在沒有委託的情況下在c#中創建事件?
- 17. Junit在沒有ant/maven的情況下創建報告
- 18. Android - 在沒有Maven的情況下安裝Mp4Parser
- 19. 在沒有Maven的情況下安裝Spark
- 20. 在沒有ANT或Maven的情況下將CSV轉換爲JSON
- 21. 如何在沒有按下c#鍵的情況下按下鍵?
- 22. 有沒有一個jQuery的版本,我可以在沒有託管文件的情況下熱鏈接?
- 23. 有沒有在私有Maven存儲庫內部託管公共構件的情況?
- 24. 如何在沒有構建maven項目的情況下查看更改?
- 25. 如何在沒有POM的情況下使用Maven部署artifactory到Artifactory
- 26. 如何在沒有版本的情況下使用maven構建項目
- 27. 我剛開始學習Maven。 Eclipse如何在沒有它的情況下構建?
- 28. 如何在沒有依賴關係的情況下編譯spring-boot-maven-plugin?
- 29. 如何在沒有IDE幫助的情況下導入Maven 2項目
- 30. 如何在沒有M2Eclipse的情況下從Eclipse執行Maven目標?
你是什麼意思「沒有Nexus」?要[設置Maven回購](http://www.theserverside.com/news/1364121/Setting-Up-a-Maven-Repository)您必須擁有*存儲庫管理系統(標準,DMSP,Proximity,Artifactory ,Nexus)? – linski
另外,一個*遠程內部Maven倉庫*(這是你想要設置,如果我正確理解)實現幾乎所有的Tomcat應用程序。換句話說,只有靜態Web訪問才能託管Maven回購。 – linski
是的,我的意思是一個靜態存儲庫。雖然我有點困惑,爲什麼沒有靜態存儲庫軟件,謝謝你的答案。 – Scott