發(fā)布項目到maven中央庫

前言

在我正式提交版本成功之前艇抠,百度上已經(jīng)有很多指導性(當然很多都是抄的很直接引用的)的說明了枣抱,但是我在提交過程中還不是很順利佩厚,所以我在這里優(yōu)化一下豺瘤,僅僅是優(yōu)化一下吆倦,畢竟前輩們還是很強大的

一、創(chuàng)建一個賬號

用戶名坐求,密碼蚕泽,郵箱,一系列信息填寫之后完成注冊桥嗤,登錄
注意须妻,郵箱一定要填寫正確

二、創(chuàng)建工單

創(chuàng)建工單.png

然后工作人員會跟你進行一系列對話泛领,確認你的groupId荒吏,確認github是不是你本人的,然后會看到以下信息


權限開通成功.JPG

讓你在發(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密鑰生成

gpg官網(wǎng)下載頁面

gpg工具下載.png
[圖片上傳中...(生成秘鑰.png-6a895a-1586747315277-0)]

下載完之后傻瓜式安裝呢簸,然后生成秘鑰
(1)執(zhí)行語句驗證是否安裝成功
gpg --version
提示:如果你安裝成功了矮台,但是在編譯器(idea)中說沒有gpg指令,那么你就要重啟一下編譯器
(2)然后生成秘鑰
gpg --gen-key

生成秘鑰.png

按照提示輸入各種信息后根时,會有秘鑰生成瘦赫,記住它,不要忘了蛤迎!因為后面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和close.png

可能你在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了
然后他會回復你
release成功.JPG

到這里就可以慶祝了汉形,項目已經(jīng)發(fā)布成功了纸镊,打一會游戲坐等。

八概疆、在中央庫中查詢

上面的流程完了之后逗威,過段時間我們可以在這個頁面查詢jar包信息
https://search.maven.org
但是在https://mvnrepository.com/這里還不能查到,可能過兩天才行岔冀。

九凯旭、依賴包引入測試

這里就可以通過pom引入你的jar包了,終于成為廣大開源愛好者的一員了。

參考文獻

清晰的教你如何將 Maven 項目上傳至 中央倉庫以及版本更新

?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末罐呼,一起剝皮案震驚了整個濱河市鞠柄,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌嫉柴,老刑警劉巖厌杜,帶你破解...
    沈念sama閱讀 211,639評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異计螺,居然都是意外死亡夯尽,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,277評論 3 385
  • 文/潘曉璐 我一進店門登馒,熙熙樓的掌柜王于貴愁眉苦臉地迎上來匙握,“玉大人,你說我怎么就攤上這事陈轿》喂拢” “怎么了?”我有些...
    開封第一講書人閱讀 157,221評論 0 348
  • 文/不壞的土叔 我叫張陵济欢,是天一觀的道長赠堵。 經(jīng)常有香客問我,道長法褥,這世上最難降的妖魔是什么茫叭? 我笑而不...
    開封第一講書人閱讀 56,474評論 1 283
  • 正文 為了忘掉前任,我火速辦了婚禮半等,結果婚禮上揍愁,老公的妹妹穿的比我還像新娘。我一直安慰自己杀饵,他們只是感情好莽囤,可當我...
    茶點故事閱讀 65,570評論 6 386
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著切距,像睡著了一般朽缎。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上谜悟,一...
    開封第一講書人閱讀 49,816評論 1 290
  • 那天话肖,我揣著相機與錄音,去河邊找鬼葡幸。 笑死最筒,一個胖子當著我的面吹牛,可吹牛的內容都是我干的蔚叨。 我是一名探鬼主播床蜘,決...
    沈念sama閱讀 38,957評論 3 408
  • 文/蒼蘭香墨 我猛地睜開眼辙培,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了邢锯?” 一聲冷哼從身側響起扬蕊,我...
    開封第一講書人閱讀 37,718評論 0 266
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎弹囚,沒想到半個月后厨相,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,176評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡鸥鹉,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 36,511評論 2 327
  • 正文 我和宋清朗相戀三年蛮穿,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片毁渗。...
    茶點故事閱讀 38,646評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡践磅,死狀恐怖,靈堂內的尸體忽然破棺而出灸异,到底是詐尸還是另有隱情府适,我是刑警寧澤,帶...
    沈念sama閱讀 34,322評論 4 330
  • 正文 年R本政府宣布肺樟,位于F島的核電站檐春,受9級特大地震影響,放射性物質發(fā)生泄漏么伯。R本人自食惡果不足惜疟暖,卻給世界環(huán)境...
    茶點故事閱讀 39,934評論 3 313
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望田柔。 院中可真熱鬧俐巴,春花似錦、人聲如沸硬爆。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,755評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽缀磕。三九已至缘圈,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間虐骑,已是汗流浹背准验。 一陣腳步聲響...
    開封第一講書人閱讀 31,987評論 1 266
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留廷没,地道東北人。 一個月前我還...
    沈念sama閱讀 46,358評論 2 360
  • 正文 我出身青樓垂寥,卻偏偏與公主長得像颠黎,于是被迫代替她去往敵國和親另锋。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 43,514評論 2 348

推薦閱讀更多精彩內容