搭建私服能夠作什麼?
一、若是公司開發組的開發環境所有內網,這時如何鏈接到在互聯網上的Maven中央倉庫呢?
二、若是公司常常開發一些公共的組件,如何共享給各個開發組,使用拷貝方式嗎?若是這樣,公共庫升級了怎麼辦?html
固然能夠解決的問題可能不止上面兩點,下面來介紹在Linux中搭建本身的Maven私服,使用Nexus。maven
網址:http://www.sonatype.org/nexus/go/
測試
下載包:nexus-2.12.0-01-bundle.tar.gz
解壓包:tar -zxvf nexus-2.12.0-01-bundle.tar.gz
默認端口爲8081,如需修改請查看配置文件 conf/nexus.properties
它自己不建議在root用戶下使用,若是咱們須要在root用戶下啓動服務,要先配置 bin/nexus 文件中的 RUN_AS_USER=rootui
啓動url
[root@localhost nexus-maven]# cd nexus-2.12.0-01/bin/ [root@localhost bin]# ./nexus start **************************************** WARNING - NOT RECOMMENDED TO RUN AS ROOT **************************************** Starting Nexus OSS... Started Nexus OSS. [root@localhost bin]# ./nexus status **************************************** WARNING - NOT RECOMMENDED TO RUN AS ROOT **************************************** Nexus OSS is running (34504). [root@localhost bin]#
啓動後訪問首頁: http://192.168.19.130:8081/nexus/index.htmlspa
登陸默認帳號/密碼 admin/admin123
.net
打開 Repositories 將列表中全部Type爲proxy 的項目的 Configuration 中的 Download Remote Indexes 設置爲True
code
將Releases倉庫的Deployment Policy設置爲*Allow ReDeploy
server
設置 deployment 帳戶密碼
xml
而後在Central 倉庫上右鍵而後點擊 Repair Index 下載中心倉庫的索引文件,若干時間後,能夠點擊下邊的 Browse Index 便可看見下載的索引文件。
固然咱們也避免不了會使用到一些第三方的 jar ,而這些jar包也不存在於互聯網上的maven中央倉庫中,這時咱們能夠手工添加jar 到咱們的私服中。
添加第三方 jar 以下:
若是須要刪除,以下:
在項目的 pom.xml 中配置私庫地址,pom.xml 的下面添加:
<!-- 私有倉庫 --> <repositories> <repository> <id>public</id> <!--這個ID須要與你的組group ID一致--> <name>Public Repository</name> <url>http://192.168.19.130:8081/nexus/content/groups/public</url> </repository> </repositories> <!-- 打包發佈 --> <distributionManagement> <repository> <id>releases</id><!--這個ID須要與你的release倉庫的Repository ID一致--> <url>http://192.168.19.130:8081/nexus/content/repositories/releases</url> </repository> <snapshotRepository> <id>snapshots</id><!--這個ID須要與你的snapshots倉庫的Repository ID一致--> <url>http://192.168.19.130:8081/nexus/content/repositories/snapshots</url> </snapshotRepository> </distributionManagement>
在settings.xml 中配置 server 帳戶信息:
<servers> <server> <id>releases</id> <username>deployment</username> <password>dev123</password><!--這個密碼就是你設置的密碼--> </server> <server> <id>snapshots</id> <username>deployment</username> <password>dev123</password><!--這個密碼就是你設置的密碼--> </server> </servers>
須要說明一點:
當pom.xml中同時配置了releases倉庫和snapshots倉庫時。
pom.xml文件開頭的版本配置1.0.0-SNAPSHOT爲build到snapshots庫,
pom.xml文件開頭的版本配置1.0.0 (不帶-SNAPSHOT) 的會build到releases庫,
若是隻配置了releases庫而版本號寫的是帶-SNAPSHOT的,build到最後一步會報400錯誤,由於它找不到對應的庫。
一、新建一個簡單的maven項目,隨便寫個類。
在pom.xml 文件按上面 3、本地項目配置引用私服 方法添加 私有倉庫和打包發佈配置
而後使用命令 mvn deploy 發佈成功後,此時咱們在咱們的私服中就能夠看到發佈後的結果,以下:
二、再新建一個項目,或者使用已有的maven項目(最好使用別人的環境不一樣的電腦)。
在pom.xml 中和第1步同樣先配置私庫地址,而後添加第1步發佈後的 dependency 後,就能夠看到jar 被正常加載到工程中了。
https://blog.csdn.net/yamaxifeng_132/article/details/52479891