Ubuntu Server 上使用Docker Compose 部署Nexus(圖文教程):編程
https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/101111611瀏覽器
在上面已經實現部署Nexus後的效果是maven
有時合做開發時,爲了避免泄露源碼可是還能容許你調用,或者公司內部本身的依賴jar包,只能在本公司內用,而且再官方中央倉庫中沒有。相似狀況下都須要搭建Maven私服。google
注:url
博客:
https://blog.csdn.net/badao_liumang_qizhi
關注公衆號
霸道的程序猿
獲取編程相關電子書、教程推送與免費下載。spa
找到Maven的安裝目錄.net
conf下的setting.xml中找到server節點。3d
配置認證節點,由於私服不是誰都能使用,因此須要配置用戶名和密碼,這裏的密碼是上面搭建Nexus服務時所設置的密碼。代理
<server> <id>nexus-releases</id> <username>admin</username> <password>admin123</password> </server> <server> <id>nexus-snapshots</id> <username>admin</username> <password>admin123</password> </server>
修改以後,保存。code
注:
nexues-releases:用於發佈Release版本
nexus-snapshots:用於發佈Snapshot版本(快照版),快照版會自動加一個時間做爲標識。
在項目的pom.xml中加入以下代碼:
<distributionManagement> <repository> <id>nexus-releases</id> <name>Nexus Release Repository</name> <url>http://192.168.208.134:8081/repository/maven-releases/</url> </repository> <snapshotRepository> <id>nexus-snapshots</id> <name>Nexus Snapshot Repository</name> <url>http://192.168.208.134:8081/repository/maven-snapshots/</url> </snapshotRepository> </distributionManagement>
這裏是使用IDEA新建的maven項目
注:
1.ID名稱要與settings.xml中Servers配置的ID保持一致。
2.項目版本號中有SNAPSHOT標識的,會發布到Nexus Snapshots Respository,不然發佈到Nexus Release Repository,並根據ID去匹配受權帳號。
3.這裏的url是Nexus服務上的url。
打開IDEA下的Ternial,輸入:
mvn deploy
能夠看到其部署效果
此時刷新Nexus服務的url,找到Browse下的maven-snapshots
部署成功。
而後打開IDEA--settings-maven,而後勾選上老是更新快照。
這樣就能用到最新的快照版本。
有時在官方倉庫沒有的jar包,須要上傳到私服上,供你們使用。
mvn deploy:deploy-file -DgroupId=com.google.code.kaptcha -DartifactId=kaptcha -Dversion=2.3.2 -Dpackaging=jar -Dfile=C:\Users\Administrator\Desktop\kaptcha-2.3.2.jar -Durl=http://192.168.208.134:8081/repository/maven-releases/ -DrepositoryId=nexus-releases
命令解釋:
-DgroupId= 自定義
-DartifactId= 自定義
-Dversion= 自定義 三個自定義,構成pom.xml文件中的座標
-Dpackaging=jar 上傳的類型是jar類型
-Dfile= jar的本地磁盤位置
-Durl= hosted資源庫的地址
-DrepositoryId=nexus-releases setting.xml文件中配置的ID
上傳成功效果
此時再回到瀏覽器,刷新。
在須要從私服中下載jar包的項目的pom.xml中加入以下配置:
<repositories> <repository> <id>nexus</id> <name>Nexus Repository</name> <url>http://192.168.208.134:8081/repository/maven-public/</url> <releases> <enabled>true</enabled> </releases> <snapshots> <enabled>true</enabled> </snapshots> </repository> </repositories> <!-- 私服倉庫配置:從私服下載--> <pluginRepositories> <pluginRepository> <id>nexus</id> <name>Nexus Plugin Repository</name> <url>http://192.168.208.134:8081/repository/maven-public/</url> <releases> <enabled>true</enabled> </releases> <snapshots> <enabled>true</enabled> </snapshots> </pluginRepository> </pluginRepositories>
爲何是從public進行下載,
由於公共倉庫是發行倉庫和快照倉庫的映射,把兩個倉庫結合起來。
下面這段代碼
<releases> <enabled>true</enabled> </releases> <snapshots> <enabled>true</enabled> </snapshots>
做用是配置是否依賴發行版和是否依賴快照版。
怎樣使用私服jar包。
找到要下載的jar包的座標配置,加入到pom中,那麼就會先從私服去找對應的jar包,而後再去官服去找jar包。