Nexus【环境搭建 01】CentOS 7.5 环境下搭建私有Maven仓库实录(启动问题处理+安装文件 nexus-3.4.0-02-unix.tar.gz 云盘链接)
1. 為什么要搭建私有Maven倉庫
??廢話少說,只說主要原因,我現在參與的項目各個模塊都是以微服務形式進行部署的,包括權限驗證模塊,我之前參與過一個項目,使用的是自己封裝的權限驗證setter依賴,使用的時候引入依賴即可,前者要進行服務間的數據請求,顯然是后者更好。
??將setter打成 jar 包然后引入項目也是可行的,這樣顯然不夠優雅(版本升級麻煩),另一種方式就是搭建一個內部的maven倉庫,引入簡單還能保證庫的私密性。
2. 準備
首先是下載安裝文件,官網 當前最新版是 nexus-3.35.0-02-unix.tar.gz 速度很慢 🐌 這里分享一下老版本 nexus-3.4.0-02-unix.tar.gz 以下內容也是根據此文件進行說明。
鏈接:https://pan.baidu.com/s/1S6JCDSbtnFreOHZfmj-F3Q
提取碼:who9
需要Java運行環境,我當前使用的是OpenJDK11【有坑預警】:
[root@aliyun ~]# java -version openjdk version "11" 2018-09-25 OpenJDK Runtime Environment 18.9 (build 11+28) OpenJDK 64-Bit Server VM 18.9 (build 11+28, mixed mode)3. 安裝、配置、啟動
3.1 安裝
# 解壓安裝文件 tar -zxvf nexus-3.4.0-02-unix.tar.gz # 將解壓出來的兩個文件夾 移動到 /usr/local/nexus/ 下【位置隨意】 mv ./nexus-3.4.0-02/ /usr/local/nexus/ mv ./sonatype-work/ /usr/local/sonatype-work/3.2 配置
1?? 配置環境變量的方法比較多,這里統一將環境變量放在 /etc/profile.d/my_env.sh 內:
# 配置環境變量: vim /etc/profile.d/my_env.sh # 添加 NEXUS_HOME 及 bin export NEXUS_HOME=/usr/local/nexus export PATH=$PATH:$NEXUS_HOME/bin # 使得配置的環境變量立即生效:# 首先是要賦權限【只操作一次就行】chmod +x /etc/profile.d/my_env.sh source /etc/profile.d/my_env.sh2?? 修改 $NEXUS_HOME/bin/nexus.rc 文件,將 run_as_user 配置放開,Nexus 跟很多 Linux 應用一樣不推薦使用 root 用戶,我們可以暫用:
# 釋放并修改 run_as_user vim /usr/local/nexus/bin/nexus.rcrun_as_user="root"3?? 修改 $NEXUS_HOME/etc/nexus-default.properties 的 IP 和端口:
# 修改 nexus-default.properties 的 host 和 port vim /usr/local/nexus/etc/nexus-default.properties # Jetty sectionapplication-port=8087application-host=tcloud4?? 添加到系統服務:
ln -s $NEXUS_HOME/bin/nexus /etc/init.d/nexus3.3 啟動
# 后臺啟動 [root@aliyun ~]# service nexus start No suitable Java Virtual Machine could be found on your system. The version of the JVM must be at least 1.8 and at most 1.8. Please define INSTALL4J_JAVA_HOME to point to a suitable JVM. # 使用最新版本 nexus-3.35.0-02-unix.tar.gz 啟動時依然報一下信息 [root@aliyun ~]# service nexus start No suitable Java Virtual Machine could be found on your system. The version of the JVM must be 1.8. Please define INSTALL4J_JAVA_HOME to point to a suitable JVM.The version of the JVM must be at least 1.8 and at most 1.8.這意思不就是要用 JDK1.8 嘛 😅 換用最新版本的 nexus-3.35.0-02-unix.tar.gz 啟動時報:The version of the JVM must be 1.8. 實錘了,需要使用JDK1.8 😅
4. 換服務器重新安裝配置啟動
# 換另一臺云服務器 JDK為1.8 [root@tcloud ~]# java -version java version "1.8.0_251" Java(TM) SE Runtime Environment (build 1.8.0_251-b08) Java HotSpot(TM) 64-Bit Server VM (build 25.251-b08, mixed mode)在新服務器上的安裝過程跟前邊的一樣,這里省略了:
# 【再次啟動】這次用前臺啟動 可以看日志 [root@tcloud ~]# service nexus run WARNING: ************************************************************ WARNING: Detected execution as "root" user. This is NOT recommended! WARNING: ************************************************************ Starting nexus # 省略部分日志信息【這樣就是啟動成功了】 -------------------------------------------------Started Sonatype Nexus OSS 3.4.0-02-------------------------------------------------??????【注意】
啟動成功 后的運行日志文件為 /sonatype-work/nexus3/log/nexus.log
啟動失敗 的日志文件為 $NEXUS_HOME/nexus/hs_err_pidxxxx.log
5. 驗證
默認端口是:8081,我修改成了8087,默認用戶名是:admin,密碼:admin123。登錄前只可以查看倉庫信息:
登錄后才可以進行設置,比如添加代理源:
Browse 可以查看當前有多少倉庫,搭建好的 Nexus,默認會帶有一些maven倉庫,一般使用這些倉庫就足夠了,當然了,我們為的不是這些,而是上傳自己的依賴。
默認倉庫說明【我們可以在設置->倉庫里查看詳情】:
- maven-central:maven中央庫,默認從 https://repo1.maven.org/maven2/ 拉取Jar包。
- maven-releases:私庫發行版Jar,初次安裝請將Deployment policy設置為Allow redeploy。
- maven-snapshots:私庫快照(調試版本)Jar
- maven-public:倉庫分組,把上面三個倉庫組合在一起對外提供服務,在本地maven基礎配置settings.xml 或項目 pom.xml 中使用。
倉庫類型:
- Group:這是一個倉庫聚合的概念,用戶倉庫地址選擇Group的地址,即可訪問Group中配置的,用于方便開發人員自己設定的倉庫。maven-public就是一個Group類型的倉庫,內部設置了多個倉庫,訪問順序取決于配置順序,3.x默認Releases,Snapshots, Central,當然你也可以自己設置。
- Hosted:私有倉庫,內部項目的發布倉庫,專門用來存儲我們自己生成的Jar文件。
- 3rd party:未發布到公網的第三方jar (3.x去除了)。
- Snapshots:本地項目的快照倉庫。
- Releases: 本地項目發布的正式版本。
- Proxy:代理類型,從遠程中央倉庫中尋找數據的倉庫(可以點擊對應的倉庫的Configuration頁簽下Remote Storage屬性的值即被代理的遠程倉庫的路徑),如可配置阿里云maven倉庫。
- Central:中央倉庫。
- Apache Snapshots:Apache專用快照倉庫(3.x去除了)。
6. 總結
Nexus 的安裝配置并不復雜,隨后會寫如何使用,感謝支持~
總結
以上是生活随笔為你收集整理的Nexus【环境搭建 01】CentOS 7.5 环境下搭建私有Maven仓库实录(启动问题处理+安装文件 nexus-3.4.0-02-unix.tar.gz 云盘链接)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【SQL编程】MySQL 5.7.28
- 下一篇: Nexus【环境搭建 02】最新版本 n