搭建Nexus倉庫與部署maven項目

搭建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倉庫.png

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,運行。
deploy.png

參考:Maven Deploy to Nexus

可能遇到的問題:
maven could not transfer artifact 400
解決方法:
1.發布snapshot版本,而不是release版本。
2.在Nexus倉庫中允許發布release版本。 解決方法

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • |-1-更新內容[6.從倉庫解析依賴的機制(重要)] 1Maven倉庫作用 倉庫用來存儲所有項目使用到構件,在ma...
    zlcook閱讀 6,145評論 0 25
  • 首先私服是一種衍生出來的特殊的Maven遠程倉庫,構建私服的好處請看3.5私服 可以幫助大家建立私服的倉庫管理軟件...
    zlcook閱讀 10,639評論 0 32
  • Spring Cloud為開發人員提供了快速構建分布式系統中一些常見模式的工具(例如配置管理,服務發現,斷路器,智...
    卡卡羅2017閱讀 134,923評論 18 139
  • Nexus是Maven倉庫管理器,管理開發所需要的構件。如果你每次都是從Apache提供的Maven中央倉庫去下載...
    點融黑幫閱讀 3,838評論 0 6
  • 27年糊涂,點醒就在一剎那 此時此刻,我非常慶幸自己終于找到了開啟自我內心的鑰匙。而這把鑰匙我找了27年,卻不曾想...
    前行女子閱讀 258評論 1 3