搭建Nexus倉庫
下載并安裝 Nexus Repository Manager OSS 2.x
https://www.sonatype.com/download-oss-sonatype啟動Nexus服務
以管理員身份運行
${安裝目錄}\nexus-2.14.4-03\bin\jsw\windows-x86-64\install-nexus.bat
${安裝目錄}\nexus-2.14.4-03\bin\jsw\windows-x86-64\start-nexus.bat訪問Nexus服務
通過http://localhost:8081/nexus/訪問nexus首頁。默認的登錄賬號密碼為amdin/admin123。
Nexus倉庫介紹
搭建好nexus倉庫后,點擊左側欄鏈接 <u>Repositories</u>,可以查看nexus倉庫,如下圖所示。
nexus管理了多個倉庫,其中3rd party,Releases,Snapshots都是托管倉庫,可以上傳構件(artifacts)。3rd party用于維護不存在于公共倉庫中的第三方構件,Releases用于維護穩定版構件,Snapshots用于維護開發版構件。
當在pom.xml文件中聲明version為xxx-SNAPSHOT,則構件被認為是Snapshot版本,否則被認為是Release版本。當項目依賴一個Release版本的構件,這個構件只從遠程倉庫下載一次,之后不再更新。如果構件需要更新,則需要用新的版本號發布一次,假設原來的版本是test1.0,新發布的版本可以是test1.1,依賴方通過修改依賴的版本來更新。一個構件如果需要頻繁的修改,就不適合用Release版本發布,而應該采用Snapshot版本。Snaphost版本的構件可以用同一個版本號發布多次,當項目依賴一個Snapshot版本的構件,每次build項目時都會獲取最新發布的構件。
關于Snapshots更詳細的知識,請參考Maven - Snapshots
新建maven項目
打開eclipse
File->New->Project... 選擇 Maven Project。
在New Maven Project面板中,勾選Create a simple project,進入下一步。
輸入Group Id:com.test,Artifact Id:testapp,完成。
參考:Create a New Maven Project in Eclipse
eclipse中配置maven環境
Window->Preferences。
在Preferences面板中,左側欄選擇Maven->User Settings,右側欄User Settings中選擇你的settings.xml。
settings.xml為maven的全局配置文件。
部署maven項目
- pom.xml配置倉庫信息
<distributionManagement>
<repository>
<id>nexus-releases</id>
<url>http://../nexus/content/repositories/releases</url>
</repository>
<snapshotRepository>
<id>nexus-snapshots</id>
<url>http://../nexus/content/repositories/snapshots</url>
</snapshotRepository>
</distributionManagement>
如果構件是Release版本,則使用<repository>配置發布。如果是Snapshot版本,則使用<snapshotRepository>配置發布,如果沒有配置<snapshotRepository>,則Snapshot版本的構件也會通過<repository>配置發布。
- settings.xml配置倉庫安全信息
<servers>
<server>
<id>nexus-releases</id>
<username>admin</username>
<password>admin123</password>
</server>
<server>
<id>nexus-snapshots</id>
<username>admin</username>
<password>admin123</password>
</server>
</servers>
server可以配置多個,每個server id必須唯一。這里的server id需要和pom.xml中的repository id或者snapshotRepository id對應。
- 在eclipse中部署項目
在Package Explorer面板中選擇項目。
右鍵,在彈出的菜單中選擇Run As->Maven Build...。
在Goals欄輸入clean deploy -X,運行。
可能遇到的問題:
maven could not transfer artifact 400
解決方法:
1.發布snapshot版本,而不是release版本。
2.在Nexus倉庫中允許發布release版本。 解決方法