1.創建一個OSS賬戶
2.創建一個項目
在oss上創建一個項目,並且根據經辦人的指示,完成后續操作。
groupId可以選擇:io.github.username
、com.gitee.username
,如果你有自己的網站可以用自己的domain。
3.安裝並配置GPG
3.1安裝
3.2配置
1)生成公鑰:gpg --gen-key
根據提示輸入用OSS戶名和郵箱,並且輸入秘鑰,后面部署的時候需要填寫秘鑰。
2)查看公鑰:gpg --list-keys
3)發布公鑰
a.保證 gps 簽名正常,多發幾個服務器
gpg --keyserver http://pool.sks-keyservers.net:11371 --send-keys C87BD3F27FDE39FE0C5C376E923
gpg --keyserver http://keyserver.ubuntu.com:11371 --send-keys C87BD3F27FDE39FE0C5C376E923
gpg --keyserver http://keys.gnupg.net:11371 --send-keys C87BD3F27FDE39FE0C5C376E923
gpg --keyserver http://keys.openpgp.org:11371 --send-keys C87BD3F27FDE39FE0C5C376E923
b.驗證是否發送成功
gpg --keyserver http://pool.sks-keyservers.net:11371 --recv-keys C87BD3F27FDE39FE0C5C376E923
gpg --keyserver http://keyserver.ubuntu.com:11371 --recv-keys C87BD3F27FDE39FE0C5C376E923
gpg --keyserver http://keys.gnupg.net:11371 --recv-keys C87BD3F27FDE39FE0C5C376E923
gpg --keyserver http://keys.openpgp.org:11371 --recv-keys C87BD3F27FDE39FE0C5C376E923
c.注意:如果發布公鑰不成功,可以打開Kleopatra
軟件,右鍵菜單,點擊在服務器上發布,然后再執行上面的操作;當然,以上所有操作可以在Kleopatra圖形化界面中完成。
4.配置Maven的setting.xml
配置oss倉庫的認證信息
<servers>
<server>
<id>ossrh</id>
<username>Z/9hZm1p</username>
<password>9TNAXM0Y8N0PwzQelVDaYIcZO9sDwRJqgYaBF25l74dO</password>
</server>
<server>
<id>oss</id>
<username>Z/9hZm1p</username>
<password>9TNAXM0Y8N0PwzQelVDaYIcZO9sDwRJqgYaBF25l74dO</password>
</server>
</servers>
5.配置項目的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>your groupId</groupId>
<artifactId>your artifactId</artifactId>
<version>1.0.0-SNAPSHOTS</version>
<description>項目描述</description>
<name>artifactId</name>
<url>https://gitee.com/groupId/artifactId</url>
<licenses>
<license>
<name>GNU General Public License</name>
<url>http://www.gnu.org/licenses/gpl-3.0.txt</url>
</license>
</licenses>
<developers>
<developer>
<!--輸入在sonatype創建的賬戶和聯系郵箱 -->
<name>kancy</name>
<email>793272861@qq.com</email>
<organization>kancy</organization>
<organizationUrl>https://www.cnblogs.com/kancy</organizationUrl>
</developer>
</developers>
<scm>
<url>https://gitee.com/groupId/artifactId.git</url>
</scm>
<properties>
<java.version>1.8</java.version>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<maven.compiler.source>${java.version}</maven.compiler.source>
<maven.compiler.target>${java.version}</maven.compiler.target>
</properties>
<dependencies>
</dependencies>
<build>
<plugins>
<!-- 源碼 -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-source-plugin</artifactId>
<version>2.2.1</version>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>jar-no-fork</goal>
</goals>
</execution>
</executions>
</plugin>
<!-- Javadoc -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
<version>2.9.1</version>
<configuration>
<additionalparam>-Xdoclint:none</additionalparam>
</configuration>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>jar</goal>
</goals>
</execution>
</executions>
</plugin>
<!--部署-->
<plugin>
<artifactId>maven-deploy-plugin</artifactId>
<executions>
<execution>
<id>deploy</id>
<phase>deploy</phase>
<goals>
<goal>deploy</goal>
</goals>
</execution>
</executions>
</plugin>
<!-- GPG 打包插件-->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-gpg-plugin</artifactId>
<version>1.6</version>
<executions>
<execution>
<phase>verify</phase>
<goals>
<goal>sign</goal>
</goals>
</execution>
</executions>
</plugin>
<!--將組件部署到OSSRH並將其發布到Central Repository-->
<plugin>
<groupId>org.sonatype.plugins</groupId>
<artifactId>nexus-staging-maven-plugin</artifactId>
<version>1.6.8</version>
<extensions>true</extensions>
<configuration>
<serverId>ossrh</serverId>
<nexusUrl>https://oss.sonatype.org/</nexusUrl>
<autoReleaseAfterClose>true</autoReleaseAfterClose>
</configuration>
</plugin>
</plugins>
</build>
<distributionManagement>
<repository>
<id>ossrh</id><!--與settings.xml的server.id保持一致-->
<url>https://oss.sonatype.org/service/local/staging/deploy/maven2</url>
</repository>
<snapshotRepository>
<id>ossrh</id><!--與settings.xml的server.id保持一致-->
<url>https://oss.sonatype.org/content/repositories/snapshots</url>
</snapshotRepository>
</distributionManagement>
<!-- 使用oss本地倉庫
<repositories>
<repository>
<id>oss-public</id>
<url>https://oss.sonatype.org/content/groups/public/</url>
</repository>
</repositories>
-->
</project>
6.發布jar包
執行命令:mvn clean deploy -DskipTests
登錄 https://oss.sonatype.org 可以查看到自己發布的jar包了,此時可能在中央倉庫還不能查找到,需要等待一段時間,進行同步。
以后的發布,在maven中直接發布即可,不需要再次創建OSS項目了。
7.參考
【1】上傳自己的jar到maven中央倉庫
【2】將jar包發布到Maven中央倉庫
【3】如何將JAR包發布到Maven中央倉庫