您好,登錄后才能下訂單哦!
這篇文章主要介紹“發布jar到maven中央倉庫的方法”,在日常操作中,相信很多人在發布jar到maven中央倉庫的方法問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”發布jar到maven中央倉庫的方法”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!
必須步驟,去這個網址注冊一個賬號
https://issues.sonatype.org/secure/Signup!default.jspa
我們需要提交一個工單申請提交jar包的權限,所以必須創建一個賬號提交工單,這個賬號同樣可以用sonatype的Nexus,我們通過Nexus最終發布到中央庫。
登陸 issues.sonatype.org,點擊頂部導航的new新建一個工單,按照下圖填寫
字段說明
Project: 選 Community Support - Open Source Project Repository Hosting
Type: 選 New Project
Summary: 主題,必填, 根據實際情況填寫
Description: 描述,選填, 根據實際情況填寫
Attachment: 附件,選填
Group Id: 項目的GroupId, 同pom.xml中的GroupId一致, 必填,沒有的可以使用你的github
Project URL: 項目的url, 必填,如果項目代碼在github上,一般填入項目的github url
SCM url:項目的代碼地址,是可以用git clone下代碼的地址,可以是github或國內的碼云
Already Synced to Central: 是否已經同步到中央庫,如果沒有選No就可以了。
然后點【新建】提交,等待工作人員review。這時,工單的狀態是Open, 如果提供的信息沒有問題的話, 狀態會從open變成resolved。 這個大概一兩個小時就能得到回復。回復的內容一般就是需要驗證groupid是屬于你自己的域名。
回復內容如下:
根據回復,給域名添加一個txt記錄是最快的方式,添加完給回復一下,大概不到10分鐘官方人員就給處理了。
pom.xml中添加如下配置
<parent> <groupId>org.sonatype.oss</groupId> <artifactId>oss-parent</artifactId> <version>7</version> </parent> <licenses> <license> <name>The Apache Software License, Version 2.0</name> <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url> <distribution>repo</distribution> </license> </licenses> <scm> <url>項目地址</url> <connection>項目地址</connection> <developerConnection>roseboy.net</developerConnection> </scm> <developers> <developer> <name>作者姓名</name> <email>作者郵箱</email> </developer> </developers>
在servies節點下添加以下代碼:
<server> <id>sonatype-nexus-snapshots</id> <username>第一步注冊的用戶名</username> <password>第一步注冊的密碼</password> </server> <server> <id>sonatype-nexus-staging</id> <username>第一步注冊的用戶名</username> <password>第一步注冊的密碼</password> </server>
至此,跟maven有關的配置已經完成,但是現在還不能上傳jar包,還需要配置gpg-key用來簽名校驗,防止壞人篡改你的jar包。
直接這個網址 https://www.gnupg.org/download/index.html 下載安裝版,使用圖形界面操作。 點擊新建 ,填寫 名字,郵箱,密碼等生成key,完成會彈框詢問是否上傳,點擊 上傳按鈕把公鑰上傳。
執行maven部署命令
mvn clean deploy -P sonatype-oss-release -Darguments="gpg.passphrase=密鑰密碼"
如果使用idea集成環境,按照下圖操作,最后雙擊 deploy。
等到執行完成,這時,你的jar源碼 ,生成的docjar,打包完的jar已經傳到Nexus上了。
使用第一步注冊的賬號登陸以下網址,https://oss.sonatype.org/#stagingRepositories (左邊 Build Promotion --> Staging Repositories) 查看,一般是最后一個,可以按時間倒棄查看,也可以通過右上角的搜索框查找。 此時的狀態應該是open,選中構件, 點擊上方的Close->Confirm,nexus會去做一些處理以及校驗,如果校驗失敗,需要刪除構件,修改后得新上傳。
如果校驗成功,選中構件,點擊上方的Release->Confirm,發布成功后,狀態會變成Releaed, 然后自動刪除。
可以在頁面左側點擊Advanced Search 查看,如果能搜到發布的模塊,說明已經成功了。
通常10分鐘內會發布到maven中央庫,但如果更新到search.maven.org需要兩個小時。如果在 https://mvnrepository.com/ 能搜到,需要1-2天的時間。
執行完之后maven delploy,還需要登錄到Nexus等待校驗完成再手動發布,這一步比較麻煩,可以使用插件來完成這些操作;
項目的pom.xml增加以下額配置:
<plugin> <groupId>org.sonatype.plugins</groupId> <artifactId>nexus-staging-maven-plugin</artifactId> <version>1.6.7</version> <extensions>true</extensions> <configuration> <serverId>sonatype-nexus-staging</serverId><!--這個是在setting.xml配置的用戶名密碼--> <nexusUrl>https://oss.sonatype.org/</nexusUrl> <autoReleaseAfterClose>true</autoReleaseAfterClose> </configuration> </plugin>
添加插件后,直接運行mvn deploy就可以發布到中央倉庫,只是時間有點長。
到此,關于“發布jar到maven中央倉庫的方法”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。