首頁 > 軟體

maven私服搭建與使用教學

2023-03-17 06:03:24

概述

在使用maven進行Java專案的開發過程中,難免會有些公共的私有庫,這些庫是不太方便放到中央倉庫的,可以通過Nexus搭建一個私有倉庫。

Nexus部署

下載安裝包

通過下載安裝包nexus-3.47.1-01-unix.tar.gz。

安裝

解壓安裝包

Nexus安裝非常簡單,只需要解壓就可以了。假設安裝目錄為/opt/software/nexus

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

解壓之後,在/opt/software/nexus目錄下,有2個目錄:

  • nexus-3.47.1-01:程式目錄,包含了 nexus執行需要的元件;
  • sonatype-work:資料目錄,包含了 nexus 管理的所有儲存庫、元件和其他資料。

啟動程式

執行如下命令,啟動nexus:

nexus-3.47.1-01/bin/nexus start

啟動之後,就可以使用。預設存取地址為:http://localhost:8081/

安裝問題集錦

找不到jdk

執行啟動命令,找不到jdk。

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,如果機器上的JDK版本高於8,則需要另外安裝下Java8,並通過設定環境變數INSTALL4J_JAVA_HOME來解決。環境變數如下:

# INSTALL4J_JAVA_HOME是Java8的JAVA_HOME
export INSTALL4J_JAVA_HOME='/opt/jdk1.8.0_202'

啟動後,8081埠打不開,無法存取

確認下,伺服器是否開啟了防火牆

預設密碼

Nexus的預設密碼放在${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檔案內,設定私服地址就可以了,具體如下:

<repositories>
  <repository>
    <!-- Maven 自帶的中央倉庫使用的Id為central 如果其他的倉庫宣告也是用該Id就會覆蓋中央倉庫的設定 -->
    <id>raina-releases</id>
    <layout>default</layout>
    <name>releases</name>
    <!-- 這裡的IP改成具體伺服器IP -->
    <url>http://{$IP}:8081/nexus/content/repositories/releases</url>
  </repository>
</repositories>

釋出私包

設定Nexus密碼

在Maven的settings.xml裡(一般路徑為:${MVN_HOME}/conf/settings.xml),新增如下設定:

<server>
    <id>customNexus</id>
    <username>admin</username>
    <!-- admin的登入密碼,使用預設密碼登入後,會修改成自定義的密碼 -->
    <password>admin123</password>
</server>

pom.xml裡新增倉庫設定

在待發布的專案pom.xml新增如下設定:

  <distributionManagement>
    <repository>
      <id>customNexus</id>
      <name>custom Nexus Release Repository</name>
      <!-- 這裡的IP改成具體伺服器IP -->
      <url>http://{$IP}:8081/repository/maven-releases/</url>
      <layout>default</layout>
    </repository>
  </distributionManagement>

釋出

執行如下命令,則可以將私包釋出到私服了:

mvn clean deploy

釋出問題

如果包無法delopy,可以修改倉庫策略:

到此這篇關於maven私服搭建與使用的文章就介紹到這了,更多相關maven私服搭建內容請搜尋it145.com以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援it145.com!


IT145.com E-mail:sddin#qq.com