當你有個很好的想法, 寫了一個開源的項目,想發佈到maven公共倉庫給別人用的時候, 你可能就需要這篇教程。
整個教程分三篇博客講解
- 第一篇: 註冊賬號和提交申請
- 第二篇: 安裝gpg和配置pom.xml文件
- 第三篇:打包上傳發布(敬請期待)
申請賬號
打開網址: https://issues.sonatype.org/secure/Dashboard.jspa
這個網址打開會有點慢, 如果不能打開就需要一些科技了。 畢竟國外的網絡只能這樣。 因爲我已經註冊了賬號並記住密碼了, 所以圖中賬號密碼自動填寫了。
註冊賬號
點擊sign up 鏈接會跳轉到註冊信息填寫頁面
- email 郵箱地址, 很重要, 後面會用來接收郵件。 我填寫了自己的qq郵箱
- full name 你的全名, 你可以填寫自己的英文名。
- username 用戶名
- password 密碼必須符合規則. 規則比較複雜, 我是使用LastPass插件自動生成的。這個插件強烈推薦, 我的所有賬號密碼都記錄在這個插件.
註冊要求的密碼規則十分複雜,按照提示設置後, 還需要拿個本子記下來, 因爲後買會用到這個密碼
註冊成功後會出來下面的頁面。 同時也會往你的註冊郵箱裏面發送一份郵件。如果密碼忘記了可以通過郵箱找回密碼
註冊成功後再次點開開始的頁面, 填寫剛剛註冊的賬號密碼登錄。
登錄成功後會進入上圖所示的頁面。 說明註冊成功了, 就可以進行下一步了。
提交申請
上面的操作已經註冊賬號成功了, 並且登錄進去了, 此時點擊登錄進入頁面的正上方的create 按鈕。 出現下圖所示頁面
圖中每項說明:
- Project 如果是發佈開源包給其他使用, 選擇
Community Support - Open Source Project Repository Hosting (OSSRH)
- Issue Type 選擇
New Project
- suumary 填寫發佈包的簡介
- Description 填寫說明。 可不填
- Attachment 可不填
- Group Id 填寫你的包的group id。 你的包的group id 不要隨便命名, 後面會需要驗證這個的。 我是因爲有自己的域名 xiezc.xyz, 所以我的包的group id都是使用的xyz.xiezc作爲group id的。
- Project URL 你的項目的源碼地址, 填寫的項目的github地址就可。
- SCM ur 填寫你的github項目的git url。 記住是git clone的url,帶
.git
後綴的url。 - Username 可以不用填。
- Already Synced to Central 選擇None
上面的填完後提交, 會創建一個issues。 找到這個issues後點開如下圖所示。
注意圖中的下面的紅框,maven倉庫的管理員會通過Comments來告訴你下一步如何做的,並且同時也會發送郵件到你郵箱通知你。 圖中紅框中管理員給我的指示是:
我的 group id 使用xyz.xiezc,他要我來證明這個域名是我自己的, 給了我兩種證明的方法,
- 在域名下增加txt類型的DNS解析記錄來執行這個issues 。
- 設置域名重定向到你的github頁面,前提是這個域名之前沒有這樣做過。
如果你group id使用的是你的github地址 com.github.yourname. 則是另外一種驗證方式, 需要你在新建一個github空白倉庫, 倉庫名稱就是你的issue的編號, 按照上圖中就是 OSSRH-57801
。 並且在下面的comment中告知管理員, 管理員回去驗證的。
驗證你的group id
我選擇了第一種方式: 增加DNS解析記錄。
圖中是我的阿里雲頁面增加的解析記錄。
然後再在之前創建的issue中增加comment 評論。
圖中我告知管理員我增加了DNS的TXT解析記錄。 並告知了驗證方式。 管理員很快回復了我, 並告知我審覈通過了,我可以上傳快照版本到https://oss.sonatype.org/content/repositories/snapshots
地址,上傳發布版本到https://oss.sonatype.org/service/local/staging/deploy/maven2
地址了.
central-ossrhCentral OSSRH added a comment - 2 days ago
xyz.xiezc has been prepared, now user(s) xiezc can:
Deploy snapshot artifacts into repository https://oss.sonatype.org/content/repositories/snapshots
Deploy release artifacts into the staging repository https://oss.sonatype.org/service/local/staging/deploy/maven2
Release staged artifacts into repository 'Releases'
please comment on this ticket when you promoted your first release, thanks
到這裏註冊賬號, 提交申請已經完成了, 接下來就是打包簽名和上傳發布了。 剩下的步驟我會留在下篇博客中講述。
GPG簽名使用
下篇博客講解
打包注意事項
下篇博客講解
上傳發布
下篇博客講解