日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Nexus搭建Maven服务器

發布時間:2024/7/19 编程问答 40 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Nexus搭建Maven服务器 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

參考:http://blog.csdn.net/ichsonx/article/details/14642897

1、 為什么使用Nexus

??????? 如果沒有私服,我們所需的所有構件都需要通過maven的中央倉庫和第三方的Maven倉庫下載到本地,而一個團隊中的所有人都重復的從maven倉庫下載構件無疑加大了倉庫的負載和浪費了外網帶寬,如果網速慢的話,還會影響項目的進程。很多情況下項目的開發都是在內網進行的,連接不到maven倉庫怎么辦呢?開發的公共構件怎么讓其它項目使用?這個時候我們不得不為自己的團隊搭建屬于自己的maven私服,這樣既節省了網絡帶寬也會加速項目搭建的進程,當然前提條件就是你的私服中擁有項目所需的所有構件。

?

2、Nexus下載

?????? 下載地址:http://www.sonatype.org/nexus/go

?

3、Nexus啟動

?????? 我下載的是zip包,解壓后進入\nexus-2.1.2-bundle\nexus-2.1.2\bin\jsw\,根據操作系統類型選擇文件夾,我選的是windows-x86-32文件夾,進入后可看到如下所示bat文件。

圖(1) 雙擊console-nexus.bat運行。游覽器中輸入http://127.0.0.1:8081/nexus/,出現圖(2)所示就代表nexus已經啟動成功。 圖(2)

8081為默認的端口號,要修改端口號可進入nexus-2.1.2-bundle\nexus-2.1.2\conf\打開nexus.properties文件,修改application-port屬性值就可以了。

默認的用戶名和密碼:admin/admin123,登錄后看到圖(3)所示:

圖(3)


?

4、Nexus倉庫

???? nexus的倉庫類型分為以下四種:

?????????????? group: 倉庫組

?????????????? hosted:宿主

????????????? proxy:代理

????????????? virtual:虛擬

??????????? 首次登陸nexus后可以看到以下一個倉庫組和多個倉庫。

圖(4)

?????????????????????? Public Repositories:? 倉庫組

????????????????????? 3rd party: 無法從公共倉庫獲得的第三方發布版本的構件倉庫

????????????????????? Apache Snapshots: 用了代理ApacheMaven倉庫快照版本的構件倉庫

????????????????????? Central: 用來代理maven中央倉庫中發布版本構件的倉庫

????????????????????? Central M1 shadow: 用于提供中央倉庫中M1格式的發布版本的構件鏡像倉庫

????????????????????? Codehaus Snapshots: 用來代理CodehausMaven 倉庫的快照版本構件的倉庫

????????????????????? Releases: 用來部署管理內部的發布版本構件的宿主類型倉庫

????????????????????? Snapshots:用來部署管理內部的快照版本構件的宿主類型倉庫

5、配置nexus

5.1、開啟遠程索引

新搭建的neuxs環境只是一個空的倉庫,需要手動和遠程中心庫進行同步,nexus默認是關閉遠程索引下載,最重要的一件事情就是開啟遠程索引下載。登陸nexus系統,默認用戶名密碼為admin/admin123。

點擊左邊Administration菜單下面的Repositories,找到右邊倉庫列表中的三個倉庫Apache Snapshots,Codehaus Snapshots和Maven Central,然后再沒有倉庫的configuration下把Download Remote Indexes修改為true。如下圖

?

然后在Apache Snapshots,Codehaus Snapshots和Maven Central這三個倉庫上分別右鍵,選擇Repari Index,這樣Nexus就會去下載遠程的索引文件。

?

?

?

這樣設置以后, Nexus會自動從遠程中央倉庫下載索引文件, 為了檢驗索引文件自動下載是否生效,可以卻換到Browse Index

?

在左邊菜單欄里面有個Artifact Search, 在輸入框里面輸入你想要搜索的構件名字,比如:maven, 那么查詢結果如下:

?

5.2建立宿主倉庫

新 建公司的內部倉庫,步驟為Repositories –> Add –> Hosted Repository,在頁面的下半部分輸入框中填入Repository ID和Repository Name即可,比如分別填入

zfy 和 zfy repostiory,另外把Deployment Policy設置為Allow Redeploy,點擊save就創建完成了。

這里我點擊添加宿主類型的倉庫,在倉庫列表的下方會出現新增倉庫的配置,如下所示:

圖(6)

點擊save按鈕后就會在倉庫列表中看到剛才新增的倉庫。

?

?

5.3、創建Nexus倉庫組

Nexus 中倉庫組的概念是Maven沒有的,在Maven看來,不管你是hosted也好,proxy也好,或者group也好,對我都是一樣的,我只管根據 groupId,artifactId,version等信息向你要構件。為了方便Maven的配置,Nexus能夠將多個倉庫,hosted或者 proxy合并成一個group,這樣,Maven只需要依賴于一個group,便能使用所有該group包含的倉庫的內容。

neuxs- 1.9.2.3中默認自帶了一個名為“Public Repositories”組,點擊該組可以對他保護的倉庫進行調整,把剛才建立的公司內部倉庫zfy repostiory加入其中,這樣就不需要再在maven中明確指定內部倉庫 的地址了。同時創建一個Group ID為public-snapshots、Group Name為Public Snapshots Repositories的組,把Apache Snapshots、Codehaus Snapshots、Snapshots和zfy repostiory加入其中。

?

?

?

?

?

?

到這里neuxs的安裝配置就完成了,下面介紹如何在maven中使用自己的私服。

?

?

?

5.4、創建Nexus代理倉庫

點擊菜單欄上的Add按鈕后選擇Proxy Repository,看到如下所示配置界面:

圖(7)
????? 以上本人分別創建 了? hosted和group ,沒有創建proxy,經maven測試通過。

6、????? settings.xml的配置

[html]?view plaincopyprint?
  • <?xml?version="1.0"?encoding="UTF-8"?>??
  • <settings?xmlns="http://maven.apache.org/SETTINGS/1.0.0"???
  • ??????????xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"???
  • ??????????xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0?http://maven.apache.org/xsd/settings-1.0.0.xsd">??
  • ??
  • ??<pluginGroups></pluginGroups>??
  • ??<proxies></proxies>??
  • ??
  • ??<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>??
  • ??
  • ??<mirrors>???
  • ????<mirror>???
  • ??????<id>nexus-releases</id>???
  • ??????<mirrorOf>*</mirrorOf>???
  • ??????<url>http://localhost:8081/nexus/content/groups/public</url>???
  • ????</mirror>??
  • ????<mirror>???
  • ??????<id>nexus-snapshots</id>???
  • ??????<mirrorOf>*</mirrorOf>???
  • ??????<url>http://localhost:8081/nexus/content/groups/public-snapshots</url>???
  • ????</mirror>???
  • ??</mirrors>???
  • ???
  • ??<profiles>??
  • ???<profile>??
  • ??????<id>nexus</id>??
  • ??????<repositories>??
  • ????????<repository>??
  • ??????????<id>nexus-releases</id>??
  • ??????????<url>http://nexus-releases</url>??
  • ??????????<releases><enabled>true</enabled></releases>??
  • ??????????<snapshots><enabled>true</enabled></snapshots>??
  • ????????</repository>??
  • ????????<repository>??
  • ??????????<id>nexus-snapshots</id>??
  • ??????????<url>http://nexus-snapshots</url>??
  • ??????????<releases><enabled>true</enabled></releases>??
  • ??????????<snapshots><enabled>true</enabled></snapshots>??
  • ????????</repository>??
  • ??????</repositories>??
  • ??????<pluginRepositories>??
  • ?????????<pluginRepository>??
  • ????????????????<id>nexus-releases</id>??
  • ?????????????????<url>http://nexus-releases</url>??
  • ?????????????????<releases><enabled>true</enabled></releases>??
  • ?????????????????<snapshots><enabled>true</enabled></snapshots>??
  • ???????????????</pluginRepository>??
  • ???????????????<pluginRepository>??
  • ?????????????????<id>nexus-snapshots</id>??
  • ??????????????????<url>http://nexus-snapshots</url>??
  • ????????????????<releases><enabled>true</enabled></releases>??
  • ?????????????????<snapshots><enabled>true</enabled></snapshots>??
  • ?????????????</pluginRepository>??
  • ?????????</pluginRepositories>??
  • ????</profile>??
  • ??</profiles>??
  • ??
  • ??<activeProfiles>??
  • ??????<activeProfile>nexus</activeProfile>??
  • ??</activeProfiles>??
  • ???
  • </settings>??
  • [html]?view plaincopyprint?
  • ???
  • [html]?view plaincopyprint?
  • 7、?maven?項目?的pom.xml配置??
  • [html]?view plaincopyprint?
  • ???
  • [html]?view plaincopyprint?
  • <pre?class="html"?name="code">?<distributionManagement>??
  • ????????<!--?兩個ID必須與?setting.xml中的<server><id>nexus-releases</id></server>保持一致-->??
  • ????????<repository>??
  • ????????????<id>nexus-releases</id>??
  • ????????????<name>Nexus?Release?Repository</name>??
  • ????????????<url>http://localhost:8081/nexus/content/repositories/releases</url>??
  • ????????</repository>??
  • ????????<snapshotRepository>??
  • ????????????<id>nexus-snapshots</id>??
  • ????????????<name>Nexus?Snapshot?Repository</name>??
  • ????????????<url>http://localhost:8081/nexus/content/repositories/snapshots</url>??
  • ????????</snapshotRepository>??
  • ????</distributionManagement></pre><pre?class="html"?name="code">?</pre><pre?class="html"?name="code">8、mvn:deploy命令上傳包,會發現下載路徑必不是中央庫的路徑,而是nexus里面的倉庫組路徑。這個說明配置環境成功。</pre><pre?class="html"?name="code"><img?alt=""?src="https://img-my.csdn.net/uploads/201301/10/1357787083_3866.png"><img?alt=""?src="https://img-my.csdn.net/uploads/201301/10/1357787109_8992.png"></pre><pre?class="html"?name="code">?</pre>??
  • <pre></pre>??
  • <pre></pre>??
  • ?

    轉載于:https://www.cnblogs.com/feika/p/4220625.html

    總結

    以上是生活随笔為你收集整理的Nexus搭建Maven服务器的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。