Maven釋出專案 (jar包) 到Nexus私服中的操作
1 需求說明
開發完專案後,將專案版本釋出到Nexus私服中.
2 實現步驟
2.1 Maven服務的setting.xml檔案
(1) 如果本機安裝了Maven服務,可在${MAVEN_HOME}/conf/setting.xml中指定私服相關的配置:
<!-- 在servers標籤下配置server,包括: 私服的使用者名稱和密碼,在deploy專案時需要用到 --> <server> <id>releases</id> <username>admin</username> <password>admin123</password> </server> <server> <id>snapshots</id> <username>admin</username> <password>admin123</password> </server> <!-- 在profiles標籤下配置profile,包括: 私服所配的倉庫、各個外掛的倉庫地址 --> <profile> <!-- profile的id --> <id>dev</id> <repositories> <repository> <!-- 倉庫id,Repositories可以配置多個倉庫,要確保id不重複 --> <id>nexus</id> <!-- 倉庫地址,即nexus倉庫組的地址 --> <url>http://ip:port/nexus/content/groups/public/</url> <!-- 是否下載Releases構件 --> <releases> <enabled>true</enabled> </releases> <!-- 是否下載Snapshots構件 --> <snapshots> <enabled>true</enabled> </snapshots> </repository> </repositories> <pluginRepositories> <!-- 外掛倉庫,Maven的執行依賴外掛,也需要從私服下載外掛 --> <pluginRepository> <!-- 外掛倉庫的id不允許重複,如果重複,後配置的優先 --> <id>public</id> <name>Public Repositories</name> <url>http://ip:port/nexus/content/groups/public/</url> </pluginRepository> </pluginRepositories> </profile> <!-- 還需指定聯網倉庫,保證本私服中沒有相關jar包或外掛時可聯網獲取 --> <profile> <id>internet</id> <repositories> <repository> <id>nexus-aliyun</id> <name>Nexus aliyun</name> <layout>default</layout> <!-- 這裡配置阿里雲的倉庫 --> <url>http://maven.aliyun.com/nexus/content/groups/public</url> <snapshots> <enabled>false</enabled> </snapshots> <releases> <enabled>true</enabled> </releases> </repository> </repositories> </profile>
(2) 如果本機沒有安裝Maven服務,可在IDEA或Eclipse等開發環境預設使用的Maven配置中修改,修改內容同上.
2.2 專案的pom.xml檔案
在專案的pom.xml中的一級標籤project下新增如下內容:
<!-- 釋出選項: id必須與setting.xml檔案中server的id相同 --> <distributionManagement> <repository> <id>releases</id> <name>display</name> <url>http://ip:port/nexus/content/repositories/releases/</url> </repository> <snapshotRepository> <id>snapshots</id> <name>display</name> <url>http://ip:port/nexus/content/repositories/snapshots/</url> </snapshotRepository> </distributionManagement>
2.3 釋出專案
以IDEA為例,選中專案,右鍵 -> Run Maven -> deploy,
或者在右邊欄選中Maven欄目,點選專案 -> Lifecycle -> deploy,執行即可將專案釋出到倉庫中去.
注意:倉庫中不能存在與當前專案名稱+版本號相同的專案,否則將導致出錯: Bad Request: 400.
補充知識:maven上傳jar包到nexus私服後的存放路徑 以及 使用IDEA上傳jar包的步驟
maven上傳jar包到nexus私服的方法,網上大神詳解很多,那麼上傳後的jar包存放到哪裡了呢?
在下使用nexus3.2.1版本,在本地搭建了私服,使用maven上傳jar包。最後結果如下:
點進去後展示的是:
這讓我一度以為是以jar包的形式儲存在本地,但事實證明,儲存在本地的最終是一個 .bytes 型別的檔案,它的預設路徑在\nexus-3.2.1-01-win64\sonatype-work\nexus3\blobs\default\content下面
即使jar包是同樣的,但是deploy了兩次,那麼就會展示兩次
nexus設定自定義路徑時,要設定Blob Stores,預設只有default一個,新建一個路徑的話就可以自己指定了
簡單說下在搭建好nexus私服以後,將jar包上傳到私服的步驟
場景:使用IDEA,maven專案打jar包後上傳
在pom.xml檔案中配置
<distributionManagement> <repository> <id>nexus</id> <name>maven-releases</name> <url>http://localhost:8081/repository/maven-releases/</url> </repository> <snapshotRepository> <id>nexus</id> <name>maven-snapshots</name> <url>http://localhost:8081/repository/maven-snapshots/</url> </snapshotRepository> </distributionManagement>
<id>標籤對應著 maven的配置檔案setting.xml中<server>的設定,如下:
<servers> <server> <id>nexus</id> <username>admin</username> <password>admin123</password> </server> </servers>
最後使用deploy操作,將打好的jar包上傳到nexus私服上
以上這篇Maven釋出專案 (jar包) 到Nexus私服中的操作就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支援我們。