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 安裝包
3、啟動 nexus
nexus 解壓后就可以直接啟動了,不需要安裝操作;
進入到解壓目錄 nexus-3.31.1-01 中,再進入到 bin 目錄,其中的可執行文件 nexus 就是啟動程序。
啟動命令:
4、查看 nexus 狀態
注意:執行啟動命令后,需要稍等短則十秒左右,長則兩三分鐘,查看 nexus 狀態時才可能是啟動狀態,時間長短和服務器配置有關系。如果超過兩三分鐘查看 nexus 狀態還是 nexus is stopped. 應該是啟動失敗了,本文末有解決方案。
狀態為 nexus is stopped. 未啟動,狀態為 nexus is running. 則成功啟動。
5、查看端口占用情況
其中 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-central | Nexus 對 Maven 中央倉庫的代理 |
| maven-public | Nexus 默認創建,供開發人員下載使用的主倉庫 |
| maven-releasse | Nexus 默認創建,供開發人員部署自己 jar 包的宿主倉庫要求 releasse 版本 |
| maven-snapshots | Nexus 默認創建,供開發人員部署自己 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 的倉庫地址:
其中 url 標簽指定的地址是-nexus中 maven-public 倉庫的地址:
如果 nexus 設置的是啟用匿名訪問,此時就可以在 maven 項目中,通過 nexus 下載 jar 包了。但如果禁用了匿名訪問,則還需要在 settings.xml 中配置賬號密碼信息;
b、配置 nexus 賬號密碼信息
注意: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 倉庫代理的遠程庫地址。
阿里云倉庫地址:
修改后點擊頁面下方的 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 部署命令:
執行成功后,查看 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保持一致。
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 默認配置是:
但是服務器剩余可用內存又不夠默認配置需要的大小,所以 不能分配內存 啟動失敗,解決方案最好的當然是在配置更高的服務器上安裝,如果沒有更好的服務器,那么就將配置文件中設置的內存大小調小;該配置文件所在位置:nexus 解壓包文件夾下的 bin 目錄,nexus.vmoptions 文件。
修改后再次啟動,可以成功啟動
總結
以上是生活随笔為你收集整理的Nexus下载安装及对接的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: NLP自然语言理解-中科院(宗成庆) P
- 下一篇: 错误: 找不到或无法加载主类 hello