废话不多说,先说几个网址:SonatypeGradleGitHub这篇文章从零开始,使用Gradle7发布Java类库到Maven中央仓库,使用GitHubAction实现release发布时自动推送。注册sonatype就不用说了,直接打开https://issues.sonatype.org/注册账号发issue注册后登录Sonatype,发issue总结:随便填就行,反正我填写项目名称。GroupId:填写类库的GroupId。注意,如果是独立域名,对方会要求验证域名的归属(验证TXT记录),对方收到Issue后会提醒您添加。项目网址:填写项目网址或GitHub地址。SCMurl:如果项目放在GitHub上,就这样填写GitHub地址加.git提交,慢慢等回复(如下图,不到半小时!)就可以了看下面无用的回复:修改build.gradle配置文件注1:我用的Gradle版本是最新的7.1.1,其他版本请自行尝试。注2:我的Gradle配置文件是Groovy版本,请自行转换KotlinDSL版本。首先在plugins,plugins{id'maven-publish'id'signing'}中添加maven-publish和signing插件,然后在配置文件末尾添加如下内容:java{withJavadocJar()withSourcesJar()}javadoc{options.addStringOption("charset","UTF-8")if(JavaVersion.current().isJava9Compatible()){options.addBooleanOption('html5',true)}}publishing{publications{mavenJava(MavenPublication){artifactId='componentname'fromcomponents.javapom{name='projectname'description='projectdescription'url='projectURL'licenses{license{name='licensename'url='licenseaddress'}}developers{developer{id='开发者ID'name='开发者姓名'email='开发者邮箱'}}scm{connection='scm:git:git://github.com/path/to/repo.git'developerConnection='scm:git:ssh://github.com/path/to/repo.git'url='https://github.com/path/to/repo'}}}}repositories{maven{name="OSSRH"if(project.version.toString().endsWith("-SNAPSHOT")){url="https://s01.oss.sonatype.org/content/repositories/snapshots"}else{url="https://s01.oss.sonatype.org/service/local/staging/deploy/maven2/"}credentials{username=findProperty("ossrhUsername")?:System.getenv("OSSRH_USERNAME")密码=findProperty("ossrhPassword")内容是:GenerateJavadocJarGenerateSourcesJarSetJavadoctoUTF-8encoding签署发布者的设置创建密钥对于Windows系统,可以使用Chocolatey或Scoop来安装gpg4win。对于macOS系统,可以通过Homebrew安装gpg4win。brewinstallgpg对于Linux系统,可以通过包管理工具安装gnupg工具sudoaptinstallgnupg#Debian系统sudoyuminstallgnupg#RedHat系统可以通过gpg安装--generate-key创建密钥,注意记住设置密码已创建,输入gpg-k查看生成的密钥,会看到如下内容:pubrsa30722021-07-25[SC][expires:2023-07-25]A36DDCA2B4E3D244AA685BC6C2F673BC0FEB0227uid[ultimate]TestTest
