轉載:https://blog.csdn.net/ThinkWon/article/details/101483769
隨時隨地閱讀更多技術實戰乾貨,獲取項目源碼、學習資料,請關注源代碼社區公衆號(ydmsq666)、加博主微信(guyun297890152)可以進入微信技術交流羣、QQ技術交流羣(183198395)。
部署jar包到遠程倉庫主要包括兩個部分:遠程倉庫認證,部署jar包到遠程倉庫
遠程倉庫的認證
大部分遠程倉庫無需認證就可以訪問,但有時候出於安全方面的考慮,我們需要提供認證信息才能訪問一些遠程倉庫。例如,組織內部有一個Maven倉庫服務器,該服務器爲每個項目都提供獨立的Maven倉庫,爲了防止非法的倉庫訪問,管理員爲每個倉庫提供了一組用戶名及密碼。這時,爲了能讓Maven訪問倉庫內容,就需要配置認證信息。
配置認證信息和配置倉庫信息不同,倉庫信息可以直接配置在POM文件中,但是認證信息必須配置在settings.xml文件中,這是因爲POM往往是被提交到代碼倉庫中供所有成員訪問的,而settings.xml一般只放在本機。因此,在settings.xml中配置認證信息更爲安全。
在${MAVEN_HOME}/conf/settings.xml文件中配置認證
<servers>
<server>
<id>releases</id>
<username>admin</username>
<password>admin123</password>
</server>
<server>
<id>snapshots</id>
<username>admin</username>
<password>admin123</password>
</server>
</servers>
部署jar包到遠程倉庫
私服的一大作用是部署第三方構件,包括組織內部生成的構件以及一些無法從外部倉庫直接獲取的構件。無論是日常開發中生成的構件,還是正式版本發佈的構件,都需要部署到倉庫中,供其他團隊成員使用。
Maven除了能對項目進行編譯、測試、打包之外,還能將項目生成的構建部署到倉庫中。首先,需要編寫項目的pom.xml文件。配置distributionManagement元素見下面。
注意:repository裏的id需要和第一步裏的server id名稱保持一致
<project>
...
<distributionManagement>
<repository>
<!--repository裏的id需要和第一步裏的server id名稱保持一致-->
<id>releases</id>
<!--倉庫名稱-->
<name>Releases</name>
<!--私服倉庫地址-->
<url>http://10.172.0.201:8081/repository/maven-releases/</url>
</repository>
<snapshotRepository>
<id>snapshots</id>
<name>Snapshot</name>
<url>http://10.172.0.201:8081/repository/maven-snapshots/</url>
</snapshotRepository>
</distributionManagement>
...
</project>
distributionManagement包含repository和snapshotRepository子元素,前者表示發佈版本構建的倉庫,後者表示快照版本的倉庫。這兩個元素下都需要配置id、name和url,id爲該遠程倉庫的唯一標識,name是爲了方便人閱讀,url表示該倉庫的地址。
配置正確後,在命令行運行mvn clean deploy,Maven就會將項目構建輸出的構件部署到配置對應的遠程倉庫,如果項目當前的版本是快照版本,則部署到快照版本倉庫地址,否則就部署到發佈版本倉庫地址。