本文將詳細講解如何通過repo.osgeo.org和maven.aliyun.com兩個平台,搭建一個Maven私服。
一、註冊repo.osgeo.org賬號
repo.osgeo.org是OSGeo的官方Maven倉庫。在搭建私服之前,需要先註冊一個賬號。
註冊鏈接:http://repo.osgeo.org/webstart/register/register.war
<distributionManagement> <repository> <id>osgeo</id> <url>http://repo.osgeo.org/repository/osgeo/content/</url> </repository></distributionManagement>
二、配置Maven的settings.xml文件
在配置Maven私服之前,需要先配置好Maven的settings.xml文件。下面是一個示例:
<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0http://maven.apache.org/xsd/settings-1.0.0.xsd"> <servers> <server> <id>osgeo</id> <username>your_osgeo_username</username> <password>your_osgeo_password</password> </server> <server> <id>aliyun</id> <username>your_aliyun_username</username> <password>your_aliyun_password</password> </server></servers> <mirrors> <mirror> <id>aliyun</id> <name>maven.aliyun.com</name> <url>http://maven.aliyun.com/nexus/content/groups/public/</url> <mirrorOf>*</mirrorOf> </mirror></mirrors> <profiles> <profile> <id>osgeo</id> <repositories> <repository> <id>osgeo</id> <name>OSGEO Repository</name> <url>http://repo.osgeo.org/repository/osgeo/content/</url> <releases> <enabled>true</enabled> </releases> <snapshots> <enabled>true</enabled> </snapshots> </repository> </repositories> </profile> <profile> <id>aliyun</id> <repositories> <repository> <id>central</id> <url>http://maven.aliyun.com/nexus/content/groups/public/</url> <releases> <enabled>true</enabled> </releases> <snapshots> <enabled>false</enabled> </snapshots> </repository> </repositories> </profile></profiles><activeProfiles> <activeProfile>aliyun</activeProfile></activeProfiles> </settings>
三、搭建Maven私服
先從maven.aliyun.com下載Maven的二進位安裝包。
$ wget https://maven.aliyun.com/repository/public/org/apache/maven/apache-maven/3.6.3/apache-maven-3.6.3-bin.tar.gz
解壓tar包:
$ tar -xzvf apache-maven-3.6.3-bin.tar.gz
移動到/usr/local/目錄下:
$ mv apache-maven-3.6.3 /usr/local
在/etc/profile文件中添加以下配置:
export MAVEN_HOME=/usr/local/apache-maven-3.6.3export PATH=$PATH:$MAVEN_HOME/bin
重載配置文件:
$ source /etc/profile
創建Maven的本地倉庫,例如創建在/home/maven/repo目錄下:
$ mkdir -p /home/maven/repo
接下來,我們要使用Nexus搭建Maven私服。在這裡,我使用Sonatype Nexus 3版本。
首先下載Sonatype Nexus 3,下載地址:https://www.sonatype.com/download-nexus-repo-oss
解壓安裝包,並運行bin/nexus run啟動。Nexus默認使用8081埠。
訪問http://localhost:8081,如果能正常打開網頁,則說明Nexus已經啟動成功。
Nexus默認用戶名和密碼均為admin。
接下來,我們要在Nexus中創建一個倉庫。
依次點擊左側的「Repositories」->「Create repository」
選擇「Maven2 (hosted)」類型的倉庫,填寫名稱和存儲路徑等信息。
例如名稱為「my-maven」,存儲路徑為「/home/maven/private」。
保存後,我們就創建了一個Maven私服倉庫。
四、配置Maven項目的pom.xml文件
在Maven項目的pom.xml文件中,需要配置distributionManagement和repositories等信息。
例如:
<distributionManagement> <repository> <id>my-maven</id> <url>http://localhost:8081/repository/my-maven/</url> </repository></distributionManagement><repositories> <repository> <id>central</id> <url>http://repo.maven.apache.org/maven2</url> </repository> <repository> <id>my-maven</id> <url>http://localhost:8081/repository/my-maven/</url> </repository><repositories>
五、將本地的Maven倉庫與私服同步
在本地的Maven倉庫中,我們需要同步一些原始的依賴包到私服倉庫中。
首先在本地使用Maven構建一個項目,並在倉庫中生成相應的依賴包:
$ mvn clean package -Dmaven.test.skip=true
然後使用以下命令將本地的依賴包上傳到私服倉庫中:
$ mvn deploy:deploy-file -DgroupId=com.groupid \ -DartifactId=com.artifactid \ -Dversion=com.version \ -Dpackaging=jar -Dfile=path-to-jar \ -Durl=http://localhost:8081/repository/my-maven/ \ -DrepositoryId=my-maven
六、使用Maven從私服下載依賴
如果要從私服中下載依賴,需要在Maven項目的pom.xml文件中,添加以下配置:
<repositories> <repository> <id>my-maven</id> <url>http://localhost:8081/repository/my-maven/</url> </repository></repositories>
七、小結
在本文中,我們講解了如何使用repo.osgeo.org和maven.aliyun.com來搭建Maven私服。通過私服的使用,可以大幅度提高Maven項目的構建速度和部署效率。
原創文章,作者:JKJUY,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/373515.html