欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

上傳自己的jar包到maven中央倉庫的快速操作方法

 更新時(shí)間:2021年08月20日 10:19:16   作者:Java魚仔  
網(wǎng)絡(luò)上可以搜索到很多jar包到中央倉庫,但是都不是多適合自己的項(xiàng)目,于是自己動(dòng)手寫個(gè),本文檔通過sonatype上傳jar包至maven中央倉庫,Sonatype通過JIRA來管理OSSRH倉庫,具體實(shí)例代碼跟隨小編一起看看吧

(一)概述

現(xiàn)在網(wǎng)絡(luò)上已經(jīng)有不少上傳jar包至中央倉庫的教程,但是我搜了一大圈之后發(fā)現(xiàn)當(dāng)時(shí)的做法目前并不適用,因此決定自己寫下上傳jar包至中央倉庫的方式,寫這篇文章的時(shí)間是2021年8月18日。

(二)注冊(cè)jira

本文檔通過sonatype上傳jar包至maven中央倉庫,Sonatype通過JIRA來管理OSSRH倉庫,因此首先注冊(cè)jira賬號(hào)

https://issues.sonatype.org/secure/Signup!default.jspa

(三)發(fā)布申請(qǐng)

jira創(chuàng)建完成后,我們需要提一個(gè)上傳jar包的申請(qǐng):

https://issues.sonatype.org/secure/CreateIssue.jspa?issuetype=21&pid=10134

其中概要和描述可以自己隨便寫一點(diǎn)關(guān)于要上傳項(xiàng)目的詳情,groupId填寫自己的域名,如果沒有的話可以填io.github.[你的github賬戶名],另外兩個(gè)必填項(xiàng)填寫項(xiàng)目的git地址


創(chuàng)建完成之后,會(huì)有人對(duì)你的請(qǐng)求做處理,并在注釋中給出意見,如果通過的話,這個(gè)問題的狀態(tài)就會(huì)變成已解決

(四)發(fā)布項(xiàng)目

當(dāng)請(qǐng)求通過后,處理人員會(huì)發(fā)過來處理成功的消息,同時(shí)會(huì)帶上發(fā)布項(xiàng)目的教程地址:

https://central.sonatype.org/publish/publish-guide/#deployment

雖然這個(gè)教程中貼上了很詳細(xì)的過程,但是因?yàn)槿⑽模疫€有點(diǎn)亂,因此我在這篇文章中發(fā)布一次

4.1 安裝配置gpg

發(fā)布到Maven倉庫中的所有文件都要使用GPG簽名,以保障完整性,因此我們需要先創(chuàng)建GPG,下載GPG

https//www.gnupg.org/download/

安裝過程就一路next就行,安裝完成之后在命令行輸入gpg --version,如果彈出具體的版本號(hào)就說明安裝成功。

通過gpg --gen-key命令生成密鑰,期間會(huì)輸入用戶名、郵箱和密碼,記住自己的密碼。

生成之后通過gpg --list-keys查看密鑰,pub下的一連串字符就是公鑰,將這串公鑰發(fā)布到密鑰服務(wù)器:

gpg --keyserver keyserver.ubuntu.com --send-keys 你的密鑰

發(fā)送完成后提示發(fā)送成功

4.2 配置maven的setting.xml

setting.xml是maven的配置文件,放在本地,你可以通過idea的setting找到當(dāng)前項(xiàng)目對(duì)應(yīng)的setting.xml文件路徑

部署ossrh身份認(rèn)證信息:

<settings>
  	<servers>
    		<server>
      			<id>ossrh</id>
      			<username>your-jira-id</username>
      			<password>your-jira-pwd</password>
    		</server>
  	</servers>
</settings>

至此,setting.xml配置就結(jié)束了

4.3 配置pom文件

接下來配置項(xiàng)目的pom文件:

首先填寫項(xiàng)目相關(guān)的信息,比如groupId,developers等等,這一塊每個(gè)人都不同,這里就不做過多講解,注意!groupId必須和你提交jira時(shí)填寫的一樣,不然怎么都傳不上去。下面僅供參考:

<groupId>io.github.oliverliy</groupId>
<artifactId>fast-sso</artifactId>
<version>0.0.1</version>
<packaging>pom</packaging>
<name>fast-sso</name>
<url>https://github.com/OliverLiy/fast-sso</url>
<description>一個(gè)可快速接入的sso項(xiàng)目</description>
<licenses>
    <license>
        <name>Apache License, Version 2.0</name>
        <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
        <distribution>repo</distribution>
        <comments>A business-friendly OSS license</comments>
    </license>
</licenses>
<scm>
    <url>https://github.com/OliverLiy/fast-sso</url>
    <connection>https://github.com/OliverLiy/fast-sso.git</connection>
</scm>
<modules>
    <module>fast-sso-client</module>
    <module>fast-sso-server</module>
    <module>fast-sso-example</module>
</modules>
<developers>
    <developer>
        <name>javayz</name>
        <id>javayz</id>
        <email>974474148@qq.com</email>
        <roles>
            <role>Developer</role>
        </roles>
        <timezone>+8</timezone>
    </developer>
</developers>

<properties>
    <springboot.version>2.2.0.RELEASE</springboot.version>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
    <java.version>1.8</java.version>
</properties>

配置distributionManagement,自 2021 年 2 月起,所有的新項(xiàng)目都配置在https://s01.oss.sonatype.org/上,因此下面的配置在一些2021年之前的博客中都是不一樣的。

<distributionManagement>
  <snapshotRepository>
    <id>ossrh</id>
    <url>https://s01.oss.sonatype.org/content/repositories/snapshots</url>
  </snapshotRepository>
  <repository>
    <id>ossrh</id>
    <url>https://s01.oss.sonatype.org/service/local/staging/deploy/maven2/</url>
  </repository>
</distributionManagement>

接著配置打包插件、 javadoc 和源 Maven 插件、Maven GPG 插件

<build>
        <plugins>
            <plugin>
                <groupId>org.sonatype.plugins</groupId>
                <artifactId>nexus-staging-maven-plugin</artifactId>
                <version>1.6.7</version>
                <extensions>true</extensions>
                <configuration>
                    <serverId>ossrh</serverId>
                    <nexusUrl>https://s01.oss.sonatype.org/</nexusUrl>
                    <autoReleaseAfterClose>true</autoReleaseAfterClose>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-source-plugin</artifactId>
                <version>2.2.1</version>
                <executions>
                    <execution>
                        <id>attach-sources</id>
                        <goals>
                            <goal>jar-no-fork</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-javadoc-plugin</artifactId>
                <version>2.9.1</version>
                <configuration>
                    <!-- jdk1.8要加上,1.7要去掉,否則會(huì)報(bào)錯(cuò) -->
                    <additionalJOptions>
                        <additionalJOption>-Xdoclint:none</additionalJOption>
                    </additionalJOptions>
                </configuration>
                <executions>
                    <execution>
                        <id>attach-javadocs</id>
                        <goals>
                            <goal>jar</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-gpg-plugin</artifactId>
                <version>1.5</version>
                <executions>
                    <execution>
                        <id>sign-artifacts</id>
                        <phase>verify</phase>
                        <goals>
                            <goal>sign</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
        </plugins>
</build>

最后提供一份完整的pom.xml

<?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>io.github.oliverliy</groupId>
    <artifactId>fast-sso</artifactId>
    <version>0.0.1</version>
    <packaging>pom</packaging>
    <name>fast-sso</name>
    <url>https://github.com/OliverLiy/fast-sso</url>
    <description>一個(gè)可快速接入的sso項(xiàng)目</description>
    <licenses>
        <license>
            <name>Apache License, Version 2.0</name>
            <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
            <distribution>repo</distribution>
            <comments>A business-friendly OSS license</comments>
        </license>
    </licenses>
    <scm>
        <url>https://github.com/OliverLiy/fast-sso</url>
        <connection>https://github.com/OliverLiy/fast-sso.git</connection>
    </scm>
    <modules>
        <module>fast-sso-client</module>
        <module>fast-sso-server</module>
        <module>fast-sso-example</module>
    </modules>
    <developers>
        <developer>
            <name>javayz</name>
            <id>javayz</id>
            <email>974474148@qq.com</email>
            <roles>
                <role>Developer</role>
            </roles>
            <timezone>+8</timezone>
        </developer>
    </developers>

    <properties>
        <springboot.version>2.2.0.RELEASE</springboot.version>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
        <java.version>1.8</java.version>
    </properties>
    <profiles>
        <profile>
            <id>default</id>
            <activation>
                <activeByDefault>true</activeByDefault>
            </activation>
            <distributionManagement>
                <snapshotRepository>
                    <id>ossrh</id>
                    <url>https://s01.oss.sonatype.org/content/repositories/snapshots</url>
                </snapshotRepository>
                <repository>
                    <id>ossrh</id>
                    <url>https://s01.oss.sonatype.org/service/local/staging/deploy/maven2/</url>
                </repository>
            </distributionManagement>
            <build>
                    <plugins>
                        <plugin>
                            <groupId>org.sonatype.plugins</groupId>
                            <artifactId>nexus-staging-maven-plugin</artifactId>
                            <version>1.6.7</version>
                            <extensions>true</extensions>
                            <configuration>
                                <serverId>ossrh</serverId>
                                <nexusUrl>https://s01.oss.sonatype.org/</nexusUrl>
                                <autoReleaseAfterClose>true</autoReleaseAfterClose>
                            </configuration>
                        </plugin>
                        <plugin>
                            <groupId>org.apache.maven.plugins</groupId>
                            <artifactId>maven-source-plugin</artifactId>
                            <version>2.2.1</version>
                            <executions>
                                <execution>
                                    <id>attach-sources</id>
                                    <goals>
                                        <goal>jar-no-fork</goal>
                                    </goals>
                                </execution>
                            </executions>
                        </plugin>
                        <plugin>
                            <groupId>org.apache.maven.plugins</groupId>
                            <artifactId>maven-javadoc-plugin</artifactId>
                            <version>2.9.1</version>
                            <configuration>
                                <!-- jdk1.8要加上,1.7要去掉,否則會(huì)報(bào)錯(cuò) -->
                                <additionalJOptions>
                                    <additionalJOption>-Xdoclint:none</additionalJOption>
                                </additionalJOptions>
                            </configuration>
                            <executions>
                                <execution>
                                    <id>attach-javadocs</id>
                                    <goals>
                                        <goal>jar</goal>
                                    </goals>
                                </execution>
                            </executions>
                        </plugin>
                        <plugin>
                            <groupId>org.apache.maven.plugins</groupId>
                            <artifactId>maven-gpg-plugin</artifactId>
                            <version>1.5</version>
                            <executions>
                                <execution>
                                    <id>sign-artifacts</id>
                                    <phase>verify</phase>
                                    <goals>
                                        <goal>sign</goal>
                                    </goals>
                                </execution>
                            </executions>
                        </plugin>
                    </plugins>
            </build>
        </profile>
    </profiles>
</project>

4.4 打包上傳

最后一步就比較簡單了,在當(dāng)前目錄下執(zhí)行deploy命令

mvn clean deploy

稍等片刻,提示build success后即表示打包成功

(五)發(fā)布

上面執(zhí)行完成之后,登陸nexus:https://s01.oss.sonatype.org/#stagingRepositories,登上jira賬號(hào)之后就能看到我們剛剛發(fā)布的內(nèi)容

選中后點(diǎn)擊上方的Close,他會(huì)檢測你的jar包是否存在問題,如果存在問題,點(diǎn)擊下方的Activity即可查看具體的問題,主要影響release的問題大部分都是打包時(shí)漏了一些東西,照著問題修復(fù)即可。

檢測完成后上方的release就會(huì)變成可點(diǎn)擊的狀態(tài),點(diǎn)擊release后,你會(huì)收到一份郵件

郵件的意思是大概30分鐘可以同步到maven倉庫,大概4個(gè)小時(shí)可以在search.maven.org中搜到?,F(xiàn)在我已經(jīng)能在中央倉庫看到自己的jar包了。你的jar包就能被別人使用了。

(六)總結(jié)

為什么要搗鼓這個(gè)東西呢?因?yàn)樽罱趯懸粋€(gè)有關(guān)統(tǒng)一認(rèn)證的開源項(xiàng)目,需要上傳jar包至中央倉庫。這個(gè)開源項(xiàng)目的目的是為了能讓項(xiàng)目通過簡單的一些配置就可以快速接入統(tǒng)一認(rèn)證系統(tǒng),因此我給這個(gè)項(xiàng)目取名fast-sso,之后會(huì)發(fā)一個(gè)初始版本出來。我是魚仔,我們下期再見!

到此這篇關(guān)于上傳自己的jar包到maven中央倉庫的快速操作方法的文章就介紹到這了,更多相關(guān)jar包上傳maven中央倉庫內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 哈希表在算法題目中的實(shí)際應(yīng)用詳解(Java)

    哈希表在算法題目中的實(shí)際應(yīng)用詳解(Java)

    散列表(Hash?table,也叫哈希表)是根據(jù)關(guān)鍵碼值(Key?value)而直接進(jìn)行訪問的數(shù)據(jù)結(jié)構(gòu),下面這篇文章主要給大家介紹了關(guān)于哈希表在算法題目中的實(shí)際應(yīng)用,文中介紹的方法是Java,需要的朋友可以參考下
    2024-03-03
  • 淺談Java 類中各成分加載順序和內(nèi)存中的存放位置

    淺談Java 類中各成分加載順序和內(nèi)存中的存放位置

    下面小編就為大家?guī)硪黄獪\談Java 類中各成分加載順序和內(nèi)存中的存放位置。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2017-02-02
  • 一文徹底弄懂零拷貝原理以及java實(shí)現(xiàn)

    一文徹底弄懂零拷貝原理以及java實(shí)現(xiàn)

    零拷貝(英語: Zero-copy) 技術(shù)是指計(jì)算機(jī)執(zhí)行操作時(shí),CPU不需要先將數(shù)據(jù)從某處內(nèi)存復(fù)制到另一個(gè)特定區(qū)域,下面這篇文章主要給大家介紹了關(guān)于零拷貝原理以及java實(shí)現(xiàn)的相關(guān)資料,需要的朋友可以參考下
    2021-08-08
  • Win10 Java jdk14.0.2安裝及環(huán)境變量配置詳細(xì)教程

    Win10 Java jdk14.0.2安裝及環(huán)境變量配置詳細(xì)教程

    這篇文章主要介紹了Win10 Java jdk14.0.2安裝及環(huán)境變量配置,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-08-08
  • 不看后悔!揭秘游戲服務(wù)器開發(fā)

    不看后悔!揭秘游戲服務(wù)器開發(fā)

    剛開始時(shí)以為做游戲服務(wù)器和做web差不多,但是經(jīng)過一段時(shí)間之后,才發(fā)現(xiàn)代碼太多,太亂了,這里我把一些游戲開發(fā)方面的東西整理一下,希望能對(duì)那些想做游戲服務(wù)器開發(fā)的朋友有所幫助
    2021-06-06
  • JavaWeb文件上傳下載實(shí)例講解(酷炫的文件上傳技術(shù))

    JavaWeb文件上傳下載實(shí)例講解(酷炫的文件上傳技術(shù))

    在Web應(yīng)用系統(tǒng)開發(fā)中,文件上傳功能是非常常用的功能,今天來主要講講JavaWeb中的文件上傳功能的相關(guān)技術(shù)實(shí)現(xiàn),本文給大家介紹的非常詳細(xì),具有參考借鑒價(jià)值,感興趣的朋友一起看看吧
    2016-11-11
  • 全面解釋Java中的serialVersionUID

    全面解釋Java中的serialVersionUID

    以下是對(duì)Java中的serialVersionUID進(jìn)行了全面的分析介紹。需要的朋友可以過來參考下
    2013-08-08
  • Spring @Valid @Validated實(shí)現(xiàn)驗(yàn)證

    Spring @Valid @Validated實(shí)現(xiàn)驗(yàn)證

    這篇文章主要介紹了Spring @Valid @Validated實(shí)現(xiàn)驗(yàn)證,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-01-01
  • Spring事務(wù)傳播行為問題解決

    Spring事務(wù)傳播行為問題解決

    這篇文章主要介紹了Spring事務(wù)傳播行為問題解決,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-01-01
  • Spring中基于xml的聲明式事務(wù)示例詳解

    Spring中基于xml的聲明式事務(wù)示例詳解

    這篇文章主要介紹了Spring之基于xml的聲明式事務(wù),本文通過圖文實(shí)例代碼相結(jié)合給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2023-09-09

最新評(píng)論