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