maven私服搭建與使用教程
概述
在使用maven進(jìn)行Java項(xiàng)目的開發(fā)過程中,難免會有些公共的私有庫,這些庫是不太方便放到中央倉庫的,可以通過Nexus搭建一個私有倉庫。
Nexus部署
下載安裝包
通過下載安裝包nexus-3.47.1-01-unix.tar.gz。
安裝
解壓安裝包
Nexus安裝非常簡單,只需要解壓就可以了。假設(shè)安裝目錄為/opt/software/nexus
tar zxvf nexus-3.47.1-01-unix.tar.gz
解壓之后,在/opt/software/nexus
目錄下,有2個目錄:
- nexus-3.47.1-01:程序目錄,包含了 nexus運(yùn)行需要的組件;
- sonatype-work:數(shù)據(jù)目錄,包含了 nexus 管理的所有存儲庫、組件和其他數(shù)據(jù)。
啟動程序
執(zhí)行如下命令,啟動nexus:
nexus-3.47.1-01/bin/nexus start
啟動之后,就可以使用。默認(rèn)訪問地址為:http://localhost:8081/
安裝問題集錦
找不到j(luò)dk
執(zhí)行啟動命令,找不到j(luò)dk。
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.
由于Nexus只支持Java8,如果機(jī)器上的JDK版本高于8,則需要另外安裝下Java8,并通過配置環(huán)境變量INSTALL4J_JAVA_HOME
來解決。環(huán)境變量如下:
# INSTALL4J_JAVA_HOME是Java8的JAVA_HOME export INSTALL4J_JAVA_HOME='/opt/jdk1.8.0_202'
啟動后,8081端口打不開,無法訪問
確認(rèn)下,服務(wù)器是否開啟了防火墻
默認(rèn)密碼
Nexus的默認(rèn)密碼放在${HOME}/sonatype-work/nexus/admin.password
文件里,我的就是/opt/software/nexus/sonatype-work/nexus/admin.password
,通過如下命令,拿到密碼就可以登錄了
cat /opt/software/nexus/sonatype-work/nexus/admin.password
使用
從私服里下載Jar
在需要下載私包的pom文件內(nèi),配置私服地址就可以了,具體如下:
<repositories> <repository> <!-- Maven 自帶的中央倉庫使用的Id為central 如果其他的倉庫聲明也是用該Id就會覆蓋中央倉庫的配置 --> <id>raina-releases</id> <layout>default</layout> <name>releases</name> <!-- 這里的IP改成具體服務(wù)器IP --> <url>http://{$IP}:8081/nexus/content/repositories/releases</url> </repository> </repositories>
發(fā)布私包
配置Nexus密碼
在Maven的settings.xml里(一般路徑為:${MVN_HOME}/conf/settings.xml),添加如下配置:
<server> <id>customNexus</id> <username>admin</username> <!-- admin的登錄密碼,使用默認(rèn)密碼登錄后,會修改成自定義的密碼 --> <password>admin123</password> </server>
pom.xml里添加倉庫配置
在待發(fā)布的項(xiàng)目pom.xml添加如下配置:
<distributionManagement> <repository> <id>customNexus</id> <name>custom Nexus Release Repository</name> <!-- 這里的IP改成具體服務(wù)器IP --> <url>http://{$IP}:8081/repository/maven-releases/</url> <layout>default</layout> </repository> </distributionManagement>
發(fā)布
執(zhí)行如下命令,則可以將私包發(fā)布到私服了:
mvn clean deploy
發(fā)布問題
如果包無法delopy,可以修改倉庫策略:
到此這篇關(guān)于maven私服搭建與使用的文章就介紹到這了,更多相關(guān)maven私服搭建內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
基于IOC容器實(shí)現(xiàn)管理mybatis過程解析
這篇文章主要介紹了基于IOC容器實(shí)現(xiàn)管理mybatis過程解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2020-07-07關(guān)于Scanner中nextInt()、nextLine()等方法總結(jié)與問題解決
這篇文章主要介紹了關(guān)于Scanner中nextInt()、nextLine()等方法總結(jié)與問題解決,具有很好的參考價值,希望對大家有所幫助。2022-11-11spring中ApplicationListener的使用小結(jié)
ApplicationListener是spring提供的一個監(jiān)聽器,本文主要介紹了spring中ApplicationListener的使用小結(jié),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2024-07-07Java doGet, doPost方法和文件上傳實(shí)例代碼
這篇文章主要介紹了Java doGet, doPost方法和文件上傳實(shí)例代碼的相關(guān)資料,需要的朋友可以參考下2016-11-11