第一部分:倉庫部署
下載地址:https://help.sonatype.com/en/download.html
備用下載鏈接,部分已經(jīng)失效了
解壓后會有兩個文件夾:
nexus-3.20.1-01
sonatype-work
訪問地址配置路徑
\nexus-3.20.1-01\bin\nexus.vmoptions
-Xms128m
-Xmx512m
-XX:MaxDirectMemorySize=512m
默認配置大小為2703m,兩個多G,內(nèi)存不夠的可以修改一下。
如果是docker部署修改配置沒用,要加上-e參數(shù)進行配置親測有效
# 核心配置
# -e "INSTALL4J_ADD_VM_PARAMS=-Xms128m -Xmx512m -XX:MaxDirectMemorySize=512m -Djava.util.prefs.userRoot=/nexus-data/javaprefs"
docker run -d --name nexus3 -e "INSTALL4J_ADD_VM_PARAMS=-Xms128m -Xmx512m -XX:MaxDirectMemorySize=512m -Djava.util.prefs.userRoot=/nexus-data/javaprefs" --hostname nexus -p 8081:8081 -v /www/dk_project/projects/nexus3/:/nexus-data sonatype/nexus3
訪問地址配置路徑
\nexus-3.20.1-01\etc\nexus-default.properties
application-port=8081
application-host=127.0.0.1
默認配置端口為8081,可以不做修改直接到 /nexus-3.20.1-01/bin目錄下找到nexus直接啟動(我用mac實驗的,使用命令./nexus啟動,哪怕點了允許也一直報安全性問題,后來使用 ./nexus start 點了允許后提示安全問題,但是服務(wù)啟動成功了),大約等待20秒就可以在瀏覽器上輸入http://localhost:8081進入管理頁面。
初始化賬號是admin
初始化密碼所在目錄:\nexus-3.20.1-01\etc\sonatype-work\nexus3\admin.password
登錄成功后會提示修改密碼,然后詢問是否允許匿名用戶進行pubulic倉庫訪問,自行根據(jù)翻譯和需求設(shè)定即可。
第二部分:倉庫類型講解
我們創(chuàng)建的是maven私服,所以這里只按照format為maven來舉例。
根據(jù)format=maven2的一共有3中type類型。
如圖:倉庫類型和倉庫格式是有不同分類的。
類型 | 作用 |
---|---|
porxy | 遠程倉庫代理,可以下載到所代理的倉庫的依賴,比如配置阿里中央倉庫或者華為中央倉庫等等 |
group | 倉庫分組,類似一個文件夾,可以將hosted類型或者porxy類型的倉庫進行合并顯示,可以通過group一個倉庫地址訪問到多個倉庫的依賴 |
hosted | 本地倉庫,可以上傳jar或者下載依賴 |
proxy作用:
相當(dāng)于把遠程倉庫搬到了本地,通過訪問本地私庫的地址,代理到指定的倉庫地址。
group作用:
如果你需要兩個依賴A和B,A在阿里倉庫有,B在華為倉庫,那么你可以配置兩個代理倉庫,分別代理阿里和華為倉庫,然后再創(chuàng)建一個group,將兩個代理倉庫放入這個group倉庫,那么在配置maven倉庫的URL時只需要配置group這個倉庫的地址就可以獲取到A和B依賴。
hosted作用:
本地倉庫,可以上傳自己的jar包。
創(chuàng)建時需要設(shè)置部署策略(Deployment policy):
策略 | 作用 |
---|---|
Allow redeploy | 允許更新部署 |
Disable redeploy | 禁用更新部署 |
Read-only | 只讀 |
如果設(shè)置禁用更新部署,那么在上傳jar時不允許上傳版本相同的jar,一般這么設(shè)置是為了防止正式版本被替換,所以正式版本倉庫是不允許更新部署的,只能新增版本。則快照庫允許更新部署,可以不斷更新迭代。文章來源:http://www.zghlxwxcb.cn/news/detail-836584.html
第三部分:倉庫使用
倉庫部署好后,可以根據(jù)需求做不同配置,如果是pom文件依賴跟著項目走,則可以在pom文件中進行配置,如果是很多項目共用私庫,又沒有在pom文件中配置私庫地址,則可以在本地maven配置文件中進行mirror替換(這種會用maven都會,不說了)
項目中配置:文章來源地址http://www.zghlxwxcb.cn/news/detail-836584.html
<!--使用maven deploy進行上傳時,根據(jù)-后面的不同進行私庫地址選擇-->
<groupId>org.example</groupId>
<artifactId>SpringBootTemplate</artifactId>
<version>1.2-SNAPSHOT</version>
<!--<version>1.2-RELEASE</version>-->
<!--<project>標簽下配置本地倉庫地址-->
<!--配置多個地址時如果沒找到會自動換下一個倉庫地址尋找依賴-->
<!--推薦通過私庫配置group來進行本地倉庫和遠程倉庫依賴的合并,避免過多配置-->
<repositories>
<repository>
<id>release</id>
<name>release</name>
<url>http://xxx.xx.xx.xx:8081/repository/maven-release</url>
</repository>
<repository>
<id>snapshots</id>
<name>snapshots</name>
<url>http://xxx.xx.xx.xx:8081/repository/maven-snapshots</url>
</repository>
</repositories>
<!--配置上傳私庫地址 賬號密碼配置在settings.xml中server-->
<distributionManagement>
<!--配置上傳快照私庫地址,版本后綴-SNAPSHOT-->
<snapshotRepository>
<id>snapshots</id>
<name>snapshots</name>
<url>http://xxx.xx.xx.xx:8081/repository/maven-snapshots</url>
</snapshotRepository>
<!--配置上傳正式私庫地址,版本后綴-RELEASE-->
<repository>
<id>releases</id>
<name>releases</name>
<url>http://xxx.xx.xx.xx:8081/repository/maven-releases/</url>
</repository>
</distributionManagement>
到了這里,關(guān)于Maven私服搭建Nexus3的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!