前言
在我正式提交版本成功之前艇抠,百度上已經(jīng)有很多指導性(當然很多都是抄的很直接引用的)的說明了枣抱,但是我在提交過程中還不是很順利佩厚,所以我在這里優(yōu)化一下豺瘤,僅僅是優(yōu)化一下吆倦,畢竟前輩們還是很強大的
一、創(chuàng)建一個賬號
用戶名坐求,密碼蚕泽,郵箱,一系列信息填寫之后完成注冊桥嗤,登錄
注意须妻,郵箱一定要填寫正確
二、創(chuàng)建工單
然后工作人員會跟你進行一系列對話泛领,確認你的groupId荒吏,確認github是不是你本人的,然后會看到以下信息
讓你在發(fā)布第一個release的時候回復他一下师逸。
三司倚、更新maven的settings.xml
在servers標簽中增加如下內容豆混,
<servers>
<server>
<!--release版本的庫id,必須要和后面pom中的配置對應-->
<id>repository</id>
<username>sonatype的用戶名</username>
<password>密碼</password>
</server>
<server>
<!--snapshots版本的庫id动知,必須要和后面pom中的配置對應-->
<id>snapshots</id>
<username>用戶名</username>
<password>密碼</password>
</server>
</servers>
四皿伺、修改pom
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.github.wangcanfeng01</groupId>
<artifactId>freedom-ragnaros</artifactId>
<version>1.0.RELEASE</version>
<!--繼承一下配置,好用盒粮!也可以不繼承鸵鸥,自己寫所有的,看個人喜歡-->
<parent>
<groupId>org.sonatype.oss</groupId>
<artifactId>oss-parent</artifactId>
<version>7</version>
</parent>
<distributionManagement>
<repository>
<!--id必須和上面的配置對應上-->
<id>repository</id>
<url>https://oss.sonatype.org/service/local/staging/deploy/maven2/</url>
</repository>
<snapshotRepository>
<!--id必須和上面的配置對應上-->
<id>snapshots</id>
<url>https://oss.sonatype.org/content/repositories/snapshots</url>
</snapshotRepository>
</distributionManagement>
<licenses>
<license>
<name>BSD 3-Clause License</name>
<url>https://opensource.org/licenses/bsd-3-clause</url>
<distribution>repo</distribution>
</license>
</licenses>
<scm>
<url>https://github.com/wangcanfeng01/ragnaros</url>
<connection>https://github.com/wangcanfeng01/ragnaros</connection>
<developerConnection>http://www.canfeng.xyz/home</developerConnection>
</scm>
<developers>
<developer>
<name>wangcanfeng</name>
<email>373811598@qq.com</email>
<url>https://github.com/wangcanfeng01</url>
</developer>
</developers>
<dependencies>
<!--各種依賴-->
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
<!--打包源碼的插件-->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-source-plugin</artifactId>
<version>3.0.0</version>
<configuration>
<attach>true</attach>
</configuration>
<executions>
<execution>
<phase>compile</phase>
<goals>
<goal>jar</goal>
</goals>
</execution>
</executions>
</plugin>
<!--生成javadoc丹皱,如果你沒有配置javadoc的環(huán)境變量妒穴,這里就要加一下javadoc的路徑-->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
<version>2.9.1</version>
<configuration>
<javadocExecutable>C:/Program Files/Java/jdk1.8.0_151/bin/javadoc</javadocExecutable>
</configuration>
<executions>
<execution>
<id>attach-javadocs</id>
<goals>
<goal>jar</goal>
</goals>
</execution>
</executions>
</plugin>
<!--gpg加密插件,必須得有摊崭,而且還要安裝gpg的工具讼油,下面會說的-->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-gpg-plugin</artifactId>
<version>1.5</version>
<executions>
<execution>
<phase>verify</phase>
<goals>
<goal>sign</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
</project>
五、gpg密鑰生成
下載完之后傻瓜式安裝呢簸,然后生成秘鑰
(1)執(zhí)行語句驗證是否安裝成功
gpg --version
提示:如果你安裝成功了矮台,但是在編譯器(idea)中說沒有gpg指令,那么你就要重啟一下編譯器
(2)然后生成秘鑰
gpg --gen-key
按照提示輸入各種信息后根时,會有秘鑰生成瘦赫,記住它,不要忘了蛤迎!因為后面deploy的時候需要用到
(3)然后將公鑰發(fā)布到服務器上
gpg --keyserver hkp://keyserver.ubuntu.com:11371 --send-keys 你的公鑰
(4)查看公鑰是不是已經(jīng)發(fā)布到庫上面了
gpg --keyserver hkp://keyserver.ubuntu.com:11371 --recv-keys 你的公鑰
下面這個命令可以讓你查看到你所擁有的公鑰信息
gpg --list-keys
六确虱、deploy
執(zhí)行下面這條命令,之后輸入你的秘鑰信息替裆,然后就會將jar包發(fā)布出去了校辩,如果你的網(wǎng)不行的話,可能發(fā)布過程會很長哦
mvn clean deploy -P release
七扎唾、close和release
這個時候我們的jar包還沒有正式發(fā)布召川,需要去下面這個網(wǎng)站close和release一下
正式發(fā)布鏈接
可能你在release的時候會失敗,如果它提示的是你的public key的問題
參考stackoverflow上面的解決方案胸遇,我把我的公鑰發(fā)布到這個上面之后就成功的release了
gpg --keyserver hkp://pool.sks-keyservers.net --recv-keys EE539F98
gpg --keyserver hkp://keyserver.ubuntu.com --send-keys EE539F98
stackoverflow上面的解決方案
注意
這里你就要回復一下工作人員了,告訴他你已經(jīng)成功的release了然后他會回復你
到這里就可以慶祝了汉形,項目已經(jīng)發(fā)布成功了纸镊,打一會游戲坐等。
八概疆、在中央庫中查詢
上面的流程完了之后逗威,過段時間我們可以在這個頁面查詢jar包信息
https://search.maven.org
但是在https://mvnrepository.com/這里還不能查到,可能過兩天才行岔冀。
九凯旭、依賴包引入測試
這里就可以通過pom引入你的jar包了,終于成為廣大開源愛好者的一員了。