注册
我们需要在Sonatype网站创建一个账号,System Dashboard - Sonatype JIRA
创建issues
点击创建
* 为必填项
1.Project :Community Support - Open Source Project Repository Hosting (OSSRH)
2.Issue Type: New Project
3.Group Id:可以是域名例如com.alibba.yun,或者你的GitHub,io.github.xxx
4.Project URL:GitHub项目地址
5.SCM url:GitHub项目地址.git
6.create 创建
7.验证GitHub
创建成功之后会验证是否是你的GitHub会让你创建一个项目
会以邮件的方式发送,打开链接
让你在github创建一个public的库名为OSSRH-57742
创建好comment回复Already created 即可
成功显示为
之后邮箱提示以后升级再次评论
安装Gpg4win
官网地址: https://www.gpg4win.org/download.html
注意:GPA一定要打勾
都是下一步安装完成
1.生成密钥
打开
文件->新建密钥对
名称填你的GitHub名称好记
新建完成显示公钥
点击完成
2.创建密码
右键点击更改密码语句
输入两次密码即可
3.上传公钥
右键点击在服务器上发布即可
查看是否上传成功
- 查看公钥 gpg --list-key
红线为公钥
查找输入公钥点击搜索,显示有内容上传成功
maven配置
打开setting.xml
添加
<servers>
<server>
<id>ossrh</id>
<!-- https://issues.sonatype.org/注册的账号密码 -->
<username>xxxxx</username>
<password>xxxxxx</password>
</server>
</servers>
<profiles>
<profile>
<id>ossrh</id>
<properties>
<!-- gpg安装位置 -->
<gpg.executable>C:/GnuPG/bin/gpg.exe</gpg.executable>
<!-- gpg创建密钥的Passphrase码 -->
<gpg.passphrase>xxx</gpg.passphrase>
</properties>
</profile>
</profiles>
项目pom.xml配置
- 这种项目一般是不需要spring-boot-maven 构建删除即可
- 依赖需要什么用什么,也可以是普通项目不使用spring boot
- profile中plugin未下载先放到dependencies中下载,之后移除
注意:必填项
- name
- url
- licenses
- developers
- scm
- 这些内容是不能没有的否则上传会提示失败
<?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 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.3.0.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<groupId>io.github</groupId>
<artifactId>xxxxx</artifactId>
<version>1.0.0</version>
<name>xxxx</name>
<description>xxxxx</description>
<url>https://github.com/用户名/仓库</url>
<properties>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter</artifactId>
</dependency>
</dependencies>
<!-- 开源许可证 -->
<licenses>
<license>
<name>The Apache Software License, Version 2.0</name>
<url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
</license>
</licenses>
<!-- 开发者信息 -->
<developers>
<developer>
<name>xxxx</name>
<email>xxxx</email>
</developer>
</developers>
<!--开源地址-->
<scm>
<connection>scm:git:git@github.com:GitHub名称/项目.git</connection>
<developerConnection>scm:git:git@github.com:GitHub名称/项目.git</developerConnection>
<url>git@github.com:GitHub名称/项目.git</url>
</scm>
<!-- Issue地址 -->
<issueManagement>
<system>Github Issue</system>
<url>https://github.com/GitHub名称/项目/issues</url>
</issueManagement>
<profiles>
<profile>
<id>release</id>
<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.apache.maven.plugins</groupId>
<artifactId>maven-source-plugin</artifactId>
<version>3.2.1</version>
<configuration>
</configuration>
<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>3.4.1</version>
<configuration>
<additionalOptions>
<additionalOption>-Xdoclint:none</additionalOption>
</additionalOptions>
</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>3.0.1</version>
<executions>
<execution>
<id>sign-artifacts</id>
<phase>verify</phase>
<goals>
<goal>sign</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
</profiles>
</project>
上传
打开控制台
- mvn clean deploy -P release 开始上传
- 首次可能弹出框输入密码即可(gpg创建密钥的Passphrase码)
- 控制台无错误上传成功
发布项目
打开https://s01.oss.sonatype.org/
登录
账号密码和System Dashboard - Sonatype JIRA是一个
红线内容打开
把上传的jar关闭检查是否有错误,description可以不填就是描述
等待关闭验证代码是否完整,是否有缺失内容
会通过邮箱提示操作发送2份,是否开通邮箱验证和发布通知sonatype管理员,以后就不需要发送邮件了
显示以下就是成功了
发布