如何通過Maven向Nexus私服中釋出項目? 需要配置哪些檔案? 釋出步驟有哪些? 這篇文章涉及到的步驟都親測可用, 希望能解決你的問題:-)
目錄
- 1 需求說明
- 2 實作步驟
- 2.1 Maven服務的setting.xml檔案
- 2.2 項目的pom.xml檔案
- 2.3 釋出項目
- 版權聲明
開發完項目後, 将項目版本釋出到Nexus私服中.
(1) 如果本機安裝了Maven服務, 可在
${MAVEN_HOME}/conf/setting.xml
中指定私服相關的配置:
<!-- 在servers标簽下配置server, 包括: 私服的使用者名和密碼, 在deploy項目時需要用到 -->
<server>
<id>releases</id>
<username>admin</username>
<password>admin123</password>
</server>
<server>
<id>snapshots</id>
<username>admin</username>
<password>admin123</password>
</server>
<!-- 在profiles标簽下配置profile, 包括: 私服所配的倉庫、各個插件的倉庫位址 -->
<profile>
<!-- profile的id -->
<id>dev</id>
<repositories>
<repository>
<!-- 倉庫id, Repositories可以配置多個倉庫, 要確定id不重複 -->
<id>nexus</id>
<!-- 倉庫位址, 即nexus倉庫組的位址 -->
<url>http://ip:port/nexus/content/groups/public/</url>
<!-- 是否下載下傳Releases構件 -->
<releases>
<enabled>true</enabled>
</releases>
<!-- 是否下載下傳Snapshots構件 -->
<snapshots>
<enabled>true</enabled>
</snapshots>
</repository>
</repositories>
<pluginRepositories>
<!-- 插件倉庫, Maven的運作依賴插件, 也需要從私服下載下傳插件 -->
<pluginRepository>
<!-- 插件倉庫的id不允許重複, 如果重複, 後配置的優先 -->
<id>public</id>
<name>Public Repositories</name>
<url>http://ip:port/nexus/content/groups/public/</url>
</pluginRepository>
</pluginRepositories>
</profile>
<!-- 還需指定聯網倉庫, 保證本私服中沒有相關jar包或插件時可聯網擷取 -->
<profile>
<id>internet</id>
<repositories>
<repository>
<id>nexus-aliyun</id>
<name>Nexus aliyun</name>
<layout>default</layout>
<!-- 這裡配置阿裡雲的倉庫 -->
<url>http://maven.aliyun.com/nexus/content/groups/public</url>
<snapshots>
<enabled>false</enabled>
</snapshots>
<releases>
<enabled>true</enabled>
</releases>
</repository>
</repositories>
</profile>
(2) 如果本機沒有安裝Maven服務, 可在IDEA或Eclipse等開發環境預設使用的Maven配置中修改, 修改内容同上.
在項目的
pom.xml
中的一級标簽project下添加如下内容:
<!-- 釋出選項: id必須與setting.xml檔案中server的id相同 -->
<distributionManagement>
<repository>
<id>releases</id>
<name>display</name>
<url>http://ip:port/nexus/content/repositories/releases/</url>
</repository>
<snapshotRepository>
<id>snapshots</id>
<name>display</name>
<url>http://ip:port/nexus/content/repositories/snapshots/</url>
</snapshotRepository>
</distributionManagement>
以IDEA為例, 選中項目,
右鍵 -> Run Maven -> deploy
,
或者在右邊欄選中Maven欄目,
點選項目 -> Lifecycle -> deploy
, 執行即可将項目釋出到倉庫中去.
注意: 倉庫中不能存在與目前項目名稱+版本号相同的項目, 否則将導緻出錯:
Bad Request: 400
.
作者: 馬瘦風
出處: 部落格園 馬瘦風的部落格
感謝閱讀, 如果文章有幫助或啟發到你, 點個[好文要頂👆] 或 [推薦👍] 吧😜
本文版權歸部落客所有, 歡迎轉載, 但 [必須在文章頁面明顯位置給出原文連結], 否則部落客保留追究相關人員法律責任的權利.