一、预置环境
基于windows10环境
- java 1.8
- maven 3.6.3(maven3.8以上不再支持http,弃用)
- gpg 2.0+(Centos7内置)
需要去System Dashboard - Sonatype JIRA创建一个Issue,使用的域名还要验证是否真实持有。
创建成功之后,如图所示,此时就可以进行jar包部署了。
1、windows生成密钥证书并上传到服务器
windos生成证书安装包下载地址:https://www.gpg4win.org/thanks-for-download.html
1、安装后打开软件创建一个密钥对
邮件地址要是真实可用的,上传到服务器需进行邮件验证
2、选择创建的密钥对导出证书.asc文件
上传到如下网址https://keys.openpgp.org/upload
上传证书
发送邮件
邮件验证ok
2.2 配置Maven
在maven的settings.xml里面添加
<server>
<id>ossrh</id>
<username>sonatype用户名</username>
<password>sonatype密码</password>
</server>
这里的用户名和密码就是下面网址注册的 不要使用中文注册、不要使用中文注册、不要使用中文注册 不然后面会登录maven仓库时无法登录
https://issues.sonatype.org/secure/Dashboard.jspa
注册完发一个创建新的项目的less 根据步骤出现下图即可【后面会出一个注册发布的文章】这里先过
2.3 配置pom
以我自己的pom为例,主要是将官方提供的plugin都cv了过来。
使用注释1到8的最好都配置上 范文使用了begin end隔开了【个人注释可能解释的不对】
<?xml versinotallow="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">
<parent>
<artifactId>java-dtp-demo</artifactId>
<groupId>com.itspz</groupId>
<version>0.0.1</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<!-- 1、begin -->
<groupId>com.itspz.dtp</groupId>
<artifactId>dtp-spring-boot-starter</artifactId>
<version>0.0.1</version>
<name>itspz-dtp</name>
<description>动态线程池工具</description>
<url>https://github.com/SongPingZhou/-java-dtp-demo</url>
<inceptionYear>2022</inceptionYear>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
<skipTests>true</skipTests>
</properties>
<!-- 1、end -->
<dependencies>
<!-- 我的jar包需要nacos -->
<dependency>
<groupId>com.alibaba.boot</groupId>
<artifactId>nacos-config-spring-boot-starter</artifactId>
<version>0.2.7</version>
</dependency>
<!-- 我的jar包需要 configuration -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-configuration-processor</artifactId>
<optional>true</optional>
</dependency>
</dependencies>
<!-- 2、bgein发布到的仓库 -->
<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>
<!-- 2、end -->
<!-- 3、begin开源协议 -->
<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>
<!-- 3、end -->
<!-- 4、begin -->
<scm>
<url>https://github.com/SongPingZhou/-java-dtp-demo</url>
<connection>scm:git:http://[email protected]:SongPingZhou/-java-dtp-demo.git</connection>
<developerConnection>https://blog.51cto.com/u_15430445</developerConnection>
</scm>
<!-- 4、end -->
<!-- 5、begin bug提交地址 -->
<issueManagement>
<system>Github</system>
<url>https://github.com/SongPingZhou/-java-dtp-demo/issues</url>
</issueManagement>
<!-- 5、end -->
<!-- 6、begin -->
<organization>
<name>宋平州</name>
<url>https://blog.51cto.com/u_15430445</url>
</organization>
<!-- 6、end -->
<!--7 begin 开发者信息-->
<developers>
<developer>
<name>songpingzhou</name>
<email>[email protected]</email>
<organization>songpingzhou</organization>
<organizationUrl>https://blog.51cto.com/u_15430445</organizationUrl>
</developer>
</developers>
<!-- 7、end -->
<!-- 8、begin 构建 -->
<build>
<!-- <pluginManagement> -->
<!-- mvn clean source:jar javadoc:jar deploy -DskipTest -->
<!--配置插件-->
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.8.1</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-source-plugin</artifactId>
<version>3.2.1</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
<version>3.3.1</version>
<configuration>
<encoding>UTF-8</encoding>
<charset>UTF-8</charset>
<docencoding>UTF-8</docencoding>
</configuration>
</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>
<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>
</plugins>
<!-- </pluginManagement> -->
</build>
<!-- 8、end -->
</project>
二、发布
在项目目录使用如下命令
mvn clean source:jar javadoc:jar deploy -DskipTest
最后这样就可以了
同步结果如下图。