怎樣創(chuàng)建自己公司的網(wǎng)站百度競價代理公司
本文摘要
Maven作為Java后端使用頻率非常高的一款依賴管理工具,在此咱們由淺入深,分三篇文章(Maven基礎、Maven進階、私服搭建)來深入學習Maven,此篇為開篇主要介紹Maven私服搭建-Nexus
文章目錄
- 本文摘要
- 1. Nexus安裝
- 2. Nexus配置
- 3. Nexus倉庫類型
- 4.發(fā)布依賴
- 4.1 配置倉庫用戶名密碼
- 4.2 配置上傳倉庫地址
- 4.3 上傳依賴
- 4.4 查看Nexus倉庫
- 4.5 下載依賴
- 4.5.1 setting.xml(mirror)配置
- 4.5.2 pom.xml(repositories)配置
- 4.5.3 settings.xml(profiles)配置
- 6. 安裝三方依賴
- 6.1 安裝至本地
- 6.2 上傳至私服
1. Nexus安裝
使用Docker進行安裝
- 拉取鏡像
docker pull sonatype/nexus3
- 啟動鏡像
docker run -d -p 8081:8081 --name nexus -v /some/dir/nexus-data:/nexus-data sonatype/nexus3
2. Nexus配置
# Jetty section
# 端口,可以修改
# application-port=8081
# application-host=0.0.0.0
# nexus-args=${jetty.etc}/jetty.xml,${jetty.etc}/jetty-http.xml,${jetty.etc}/jetty-requestlog.xml
# nexus-context-path=/${NEXUS_CONTEXT}# Nexus section
# nexus-edition=nexus-pro-edition
# nexus-features=\
# nexus-pro-feature
# nexus.clustered=false
3. Nexus倉庫類型
- hosted:表示用戶自己上傳的依賴將會上傳至該倉庫
- proxy:表示代理遠程倉庫地址
- group:用來組合hosted/proxy倉庫,下載依賴將從該倉庫下載
4.發(fā)布依賴
4.1 配置倉庫用戶名密碼
setting.xml
文件中配置
<!-- 定義穩(wěn)定版本的id名稱,用戶名密碼 -->
<server><id>releases</id><username>admin</username><password>admin123</password>
</server>
<!-- 定義開發(fā)版本的id名稱,用戶名密碼 -->
<server><id>snapshots</id><username>admin</username><password>admin123</password>
</server>
4.2 配置上傳倉庫地址
需要上傳至徑服所在項目
pom.xml
文件中配置
<distributionManagement><repository><id>releases</id><url>http://nas:18081/repository/maven-releases/</url></repository><snapshotRepository><id>snapshots</id><url>http://nas:18081/repository/maven-snapshots/</url></snapshotRepository>
</distributionManagement>
4.3 上傳依賴
idea中點擊
deploy
4.4 查看Nexus倉庫
4.5 下載依賴
4.5.1 setting.xml(mirror)配置
該配置方案存在問題:無法拉取SNAPSHOT依賴
<mirrors><mirror><!-- 配置id --><id>nexus</id><!-- 配置攔截倉庫,*表示攔截所有倉庫拉取請求 --><mirrorOf>*</mirrorOf><name>nexus</name><!-- 配置倉庫地址 --><url>http://nas:18081/repository/maven-public/</url></mirror>
</mirrors>
4.5.2 pom.xml(repositories)配置
該配置方案存在問題:該種方式只能針對某個項目下載依賴
<repositories><repository><id>nexus</id><name>nexus</name><url>http://nas:18081/repository/maven-public/</url><releases><enabled>true</enabled></releases><snapshots><enabled>true</enabled></snapshots></repository>
</repositories>
<pluginRepositories><pluginRepository><id>public</id><url>http://nas:18081/repository/maven-public/</url><name>pluginRepositories</name></pluginRepository>
</pluginRepositories>
4.5.3 settings.xml(profiles)配置
該種配置方式全局配置,可以根據(jù)需求選擇配置方案,生產(chǎn)中選擇該方式
<profiles><!-- 下載jar包配置 --><profile><!--profile的id --><id>dev</id><repositories><repository> <!--倉庫id,repositories可以配置多個倉庫,保證id不重復 --><id>nexus</id> <!--倉庫地址,即nexus倉庫組的地址 --><url>http://nas:18081/repository/maven-public/</url> <!--是否下載releases構(gòu)件 --><releases><enabled>true</enabled></releases> <!--是否下載snapshots構(gòu)件 --><snapshots><enabled>true</enabled></snapshots></repository></repositories><pluginRepositories> <!-- 插件倉庫,maven的運行依賴插件,也需要從私服下載插件 --><pluginRepository> <!-- 插件倉庫的id不允許重復,如果重復后邊配置會覆蓋前邊 --><id>public</id><name>Public Repositories</name><url>http://nas:18081/repository/maven-public/</url></pluginRepository></pluginRepositories></profile>
</profiles>
<!-- 選擇那一個配置 -->
<activeProfiles><activeProfile>dev</activeProfile>
</activeProfiles>
6. 安裝三方依賴
6.1 安裝至本地
mvn install:install-file -DgroupId=com.alibaba -DartifactId=fastjson -Dversion=1.1.37 -Dfile=fastjson-1.1.37.jar -Dpackaging=jar
6.2 上傳至私服
mvn deploy:deploy-file -DgroupId=com.alibaba -DartifactId=fastjson -Dversion=1.1.37 -Dpackaging=jar -Dfile=fastjson-1.1.37.jar -Durl=http://localhost:8079/nexus/content/repositories/thirdparty/ -DrepositoryId=thirdparty