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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

Nexus下载安装及对接

發布時間:2023/12/9 编程问答 42 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Nexus下载安装及对接 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Nexus 3.x官網下載地址
Nexus 2.x官網下載地址
官網下載需要科學上網,不能下載的話可下載下面兩個linux安裝包
linux nexus-3.31.1-01-unix.tar.gz 提取碼:5vm0
linux nexus-2.14.8-01-bundle.tar.gz 提取碼:wh1k
安裝nexus之前,需要服務器已安裝jdk:centos7安裝jdk、git、maven

一、nexus 安裝

1、上傳 nexus 安裝包
在 linux 服務器上,創建文件夾存放 nexus 安裝包,比如:/usr/nexus,可通過xftp上傳
2、解壓 nexus 安裝包

tar -zxvf nexus-3.31.1-01-unix.tar.gz

3、啟動 nexus
nexus 解壓后就可以直接啟動了,不需要安裝操作;
進入到解壓目錄 nexus-3.31.1-01 中,再進入到 bin 目錄,其中的可執行文件 nexus 就是啟動程序。
啟動命令:

./nexus start:后臺啟動 nexus 也就是不能直接查看到日志。 ./nexus run:前臺啟動 nexus 可以直接查看到日志,但是會一直占用當前窗口,當前窗口一旦關閉則 nexus 服務也會關閉;比如關閉當前 xshell 窗口或者 Ctrl+C 都會關閉 nexus 服務,需要操作當前服務器的話需要另開窗口。


4、查看 nexus 狀態
注意:執行啟動命令后,需要稍等短則十秒左右,長則兩三分鐘,查看 nexus 狀態時才可能是啟動狀態,時間長短和服務器配置有關系。如果超過兩三分鐘查看 nexus 狀態還是 nexus is stopped. 應該是啟動失敗了,本文末有解決方案。

./nexus status


狀態為 nexus is stopped. 未啟動,狀態為 nexus is running. 則成功啟動。
5、查看端口占用情況

netstat -anp | grep java

其中 8081端口(固定的) 就是訪問 nexus 的端口號;8081 端口的進程要在啟動 /usr/nexus/nexus-3.31.1-01/bin/nexus 主體程序一、兩分鐘后才會啟動(也就是上一步查看 nexus 狀態為nexus is running.之后,一兩分鐘),需要稍加等待。

6、訪問 nexus 首頁
地址:安裝nexus服務的服務器ip:8081

注意:如果服務器的8081端口沒有放開,則訪問不了 nexus 首頁;比如阿里云服務器需要在安全組里面打開 8081 端口。

下面鏈接中有關閉 centOS 服務器防火墻或防火墻放開某個端口的方法:
centos7安裝MySQL、redis

7、初始設置
右上角點擊登錄

提示:賬號為 admin 密碼則保存在 /usr/nexus/sonatype-work/nexus3/admin.password 文件中

獲取 /usr/nexus/sonatype-work/nexus3/admin.password 文件中的admin賬號密碼:

使用 admin 賬號登錄,并設置新密碼

啟用或禁用匿名登陸,區別:啟用匿名登錄則在使用該 nexus 時,不需要賬號密碼,禁用匿名登錄則在使用該 nexus 時,需要賬號密碼。也就是 maven 的 settings.xml 文件中,配置使用該 nexus 時,是否需要配置賬號密碼信息。

是否同意 Nexus 收集信息幫助我們改善 Nexus Repository體驗

到此 nexus 安裝完畢。
8、Nexus 的各種倉庫

倉庫類型說明
proxy某個遠程倉庫的代理
group存放通過 Nexus 獲取的第三方 jar 包
hosted存放本團隊其他開發人員部署到 Nexus 的 jar 包
倉庫名稱說明
maven-centralNexus 對 Maven 中央倉庫的代理
maven-publicNexus 默認創建,供開發人員下載使用的主倉庫
maven-releasseNexus 默認創建,供開發人員部署自己 jar 包的宿主倉庫要求 releasse 版本
maven-snapshotsNexus 默認創建,供開發人員部署自己 jar 包的宿主倉庫要求 snapshots 版本

nexus 默認所有倉庫都沒有內容。

二、nexus 對接

1、通過 nexus 下載 jar 包
設置 maven settings.xml 文件
注意:只能是設置 settings.xml 文件;比如還有一個 settings1.xml 文件,如果設置這個文件,并且idea中 maven 項目設置的 maven 信息也是 settings1.xml 文件,在下載 jar 包的時候 settings1.xml 中設置的 nexus 倉庫地址不會生效;所以maven項目設置的maven信息只能是 settings.xml 文件,并且只能在 settings.xml 文件中設置相關信息。
a、將原來配置的倉庫地址(如:阿里云倉庫地址)的 mirror 標簽改成 nexus 的倉庫地址:

<mirror><!-- id:可自定義 --><id>nexus-mine</id><!-- mirrorOf:配置成 * 表示通過 nexus 訪問網路上所有的遠程倉庫;配置成central,表示訪問 nexus 的central倉庫; --><mirrorOf>central</mirrorOf><!-- name:可自定義 --><name>Nexus mine</name><!-- url:倉庫地址 --><url>http://xx.xx.xx.197:8081/repository/maven-public/</url> </mirror>

其中 url 標簽指定的地址是-nexus中 maven-public 倉庫的地址:

如果 nexus 設置的是啟用匿名訪問,此時就可以在 maven 項目中,通過 nexus 下載 jar 包了。但如果禁用了匿名訪問,則還需要在 settings.xml 中配置賬號密碼信息;
b、配置 nexus 賬號密碼信息

<server><!-- id:此處id是唯一標識,可以配置多個server指定多個賬號密碼信息,配置倉庫信息的時候,id和此處id一致則采用當前賬號密碼作為訪問對應倉庫時的賬號密碼 --><id>nexus-mine</id><username>admin</username><password>123456</password> </server>

注意:server 標簽內的 id 標簽值必須和 mirror 標簽中的 id 值一樣;密碼是上面 7、初始設置 中設置的密碼
修改完畢 settings.xml 文件后,在maven項目中拉取jar包的時候則會通過 nexus 去拉取 jar 包;此時下載的jar包如果 nexus maven-public 倉庫中沒有會從中央倉庫下載并且會在 nexus 的 maven-public 倉庫中也保存一份;后續使用 nexus 下載這些包時,將直接在 maven-public 倉庫下載,而不用去中央倉庫下載,從而提升速度。

如果包比較大/多第一次下載 nexus 從中央倉庫下載會比較慢,那么可以將 nexus 的代理倉庫設置為阿里云倉庫;這樣即使 nexus 中沒有的包,也會去阿里云倉庫下載提升速度;即修改 maven-central 倉庫代理的遠程庫地址。


阿里云倉庫地址:

http://maven.aliyun.com/nexus/content/groups/public

修改后點擊頁面下方的 save 按鈕即可。
2、將 jar 包部署到 nexus
每個需要部署到 nexus 的 maven 工程都要做對應配置,不能在 settings.xml 中配置全局生效。
部署時,主要部署在 nexus 的 maven-releasse 和 maven-snapshots 倉庫中。

maven-releasse:Nexus 默認創建,供開發人員部署自己 jar 包的宿主倉庫要求 releasse 版本
maven-snapshots:Nexus 默認創建,供開發人員部署自己 jar 包的宿主倉庫要求 snapshots 版本
解釋:也就是 maven 工程的 pom.xml 文件中定義的坐標信息,如果 version 帶有 SNAPSHOT 則部署在 maven-snapshots 倉庫中(快照版-經常更新); version 不帶 SNAPSHOT 則部署在 maven-releasse 倉庫中(穩定版-不常更新);

在當前 maven 工程的 pom.xml 中,配置 maven-releasse 和 maven-snapshots 倉庫信息:

<distributionManagement><repository><id>nexus-mine</id><name>Nexus Release</name><url>http://xx.xx.xx.197:8081/repository/maven-releases/</url></repository><snapshotRepository><id>nexus-mine</id><name>Nexus SNAPSHOTS</name><url>http://xx.xx.xx.197:8081/repository/maven-snapshots/</url></snapshotRepository></distributionManagement>

其中id需要和 settings.xml 文件中的 server 標簽id匹配,也就是此處的兩個id可以一樣(因為 1、通過 nexus 下載 jar 包 中已經設置了 server 所以此處的兩個id和這個server的id一致即可);如果寫不同則需要在 settings.xml 文件中,配置對應id server 標簽;比如賬號密碼不一樣則必須寫不同 server。
兩個 url 分別是:

在當前 maven 工程中,執行 deploy 部署命令:

mvn deploy 或 mvn clean deploy

執行成功后,查看 nexus 對應倉庫會存在該工程的 jar 包;

3、引用別人部署的 jar 包
中央倉庫的 jar 包存在 maven-public 倉庫中;自己開發的包部署在 maven-releasse 和 maven-snapshots 倉庫中,所以下載別人開發的 jar 包是從 maven-releasse 和 maven-snapshots 倉庫中下載。
可以在 settings.xml 中配合全局生效或者每個工程中單獨配置。
a、每個工程 pom.xml 文件中配置,這兩個 url 和 2、將 jar 包部署到 nexus 中的兩個 url 一致;并且id標簽可以一樣,和 settings.xml 中 server 標簽id保持一致。

<repositories><repository><id>nexus-mine</id><name>maven-snapshots</name><url>http://xx.xx.xx.197:8081/repository/maven-snapshots/</url><releases><enabled>true</enabled><updatePolicy>always</updatePolicy></releases><snapshots><enabled>true</enabled><updatePolicy>always</updatePolicy></snapshots><layout>default</layout></repository><repository><id>nexus-mine</id><name>maven-releases</name><url>http://xx.xx.xx.197:8081/repository/maven-releases/</url><releases><enabled>true</enabled><updatePolicy>always</updatePolicy></releases><snapshots><enabled>true</enabled><updatePolicy>always</updatePolicy></snapshots><layout>default</layout></repository></repositories>

b、settings.xml 中設置-需要依賴 profile 標簽,repository的id值不能一樣,但是一般賬號密碼都是一致的,所以需要配置 id 分別為 nexus-maven-snapshots 和 nexus-maven-releases 的 server,其中的賬號密碼一樣。

<profiles><profile><id>dev</id><repositories><repository><id>nexus-maven-snapshots</id><name>maven-snapshots</name><url>http://xx.xx.xx.197:8081/repository/maven-snapshots/</url><releases><enabled>true</enabled><updatePolicy>always</updatePolicy></releases><snapshots><enabled>true</enabled><updatePolicy>always</updatePolicy></snapshots><layout>default</layout></repository><repository><id>nexus-maven-releases</id><name>maven-releases</name><url>http://xx.xx.xx.197:8081/repository/maven-releases/</url><releases><enabled>true</enabled><updatePolicy>always</updatePolicy></releases><snapshots><enabled>true</enabled><updatePolicy>always</updatePolicy></snapshots><layout>default</layout></repository></repositories></profile></profiles><!-- 激活上面配置的 dev profile --><activeProfiles><activeProfile>dev</activeProfile></activeProfiles>

啟動失敗排查:
因為執行 ./nexus start 啟動無法直接查看日志,選擇執行 ./nexus run 進行啟動,查看報錯原因:

可以看到報錯 error=‘Cannot allocate memory’ 也就是不能分配內存,原因在于 nexus 默認配置的內存大小是需要 2G,有些版本對內存要求可能更高,比如我這里安裝的 nexus-3.31.1-01 默認配置是:

-Xms2703m -Xmx2703m -XX:MaxDirectMemorySize=2703m

但是服務器剩余可用內存又不夠默認配置需要的大小,所以 不能分配內存 啟動失敗,解決方案最好的當然是在配置更高的服務器上安裝,如果沒有更好的服務器,那么就將配置文件中設置的內存大小調小;該配置文件所在位置:nexus 解壓包文件夾下的 bin 目錄,nexus.vmoptions 文件。

修改后再次啟動,可以成功啟動

總結

以上是生活随笔為你收集整理的Nexus下载安装及对接的全部內容,希望文章能夠幫你解決所遇到的問題。

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