Gradle使用插件SonatypeUploader-v2.6上传到maven组件到远程中央仓库

本文基于sonatypeUploader 2.6版本

发布步骤

  1. 提前准备好sonatype账号和signing配置
    注:如果没有,请参考1.0博文的生成步骤: https://jeady.blog.csdn.net/article/details/139945691

  2. 导入插件

kotlin 复制代码
plugins { 
    id("org.jetbrains.dokka") version "1.9.20" // kotlin代码生成javadoc的插件,不需要的话可以注释掉
    id("io.github.jeadyx.sonatype-uploader") version "2.6"
}
  1. 配置插件信息
koltin 复制代码
// 以`io.github.jeady5:$moduleName:1.0`为例
group = "io.github.jeady5"
version = "1.0"
sonatypeUploader {
   tokenName = "tokenUser" // 在sonatype中`View Account`页面进行生成: https://central.sonatype.com/account
   tokenPasswd = "tokenUserPasswd"
//    signing = Action<UploaderSigning> { // 如果已配置signing插件,此代码可以忽略;如果是gradle小白或测试用可以在这里填写签名信息进行测试,为了安全推荐使用`gradle.properties`文件
//        keyId="F56168C8"
//        keyPasswd="123123"
//        secretKeyPath="E:\\gpg\\jeady_0xF56168C8_SECRET.gpg"
//    }
   pom = Action<MavenPom>{ // 配置pom信息,必须项; 改成你自己的信息即可,不知道的网址可以填自己的仓库地址。
       name = "My Library"
       description = "A concise description of my library greennbg"
       url = "http://www.example.com/library"
       licenses {
           license {
               name = "The Apache License, Version 2.0"
               url = "http://www.apache.org/licenses/LICENSE-2.0.txt"
           }
       }
       developers {
           developer {
               id = "jeady"
               name = "jeady"
               email = "jeady@example.com"
           }
       }
       scm {
           connection = "scm:git:git://example.com/my-library.git"
           developerConnection = "scm:git:ssh://example.com/my-library.git"
           url = "http://example.com/my-library/"
       }
   }
}
  1. sync项目
  2. gradle publishToSonatype

任务说明

  • 1.createDeploymentDir

    在本地生成要上传的工件目录,位置默认在模块的build\sonayUploader目录里面

  • 1.uploadDeploymentDir

    上传刚生成的目录到sonatype 中心仓库

  • 3.publishDeployment

    发布刚上传的工件,不可取消

  • checkDeploymentStatus

    检查刚上传组件的状态

    如果状态为FAILED, 请根据提示信息进行更改,博主遇到了两个

  • 版本已存在: 更新版本解决

  • 校验签名失败: 查看本地签名文件是否已上传公共服务器

  • cleanLocalDeploymentDir

    删除本地生成的临时工件目录

  • deleteDeployment

    删除刚上传的工件

  • publishToSonatype

    一键发布

注意事项

  1. 记得将公钥上传到公共服务器
    可用的公钥管理服务器有:

如果你使用的是GnuPG, 还可以在gui中进行操作,右键证书有个在服务器发布

后记

如果对你有帮助,请star仓库:SonatypeUploader

使用中如果有什么问题,请提交issue 、评论、私信

相关推荐
zzzsde2 分钟前
【C++】深入理解string类(5)
java·前端·算法
失散135 分钟前
分布式专题——46 ElasticSearch高级查询语法Query DSL实战
java·分布式·elasticsearch·架构
程序员鱼皮8 分钟前
为什么下载小电影时,进度总是卡在99%?
java·计算机·程序员·互联网·编程
没有bug.的程序员23 分钟前
分布式链路追踪:微服务可观测性的核心支柱
java·分布式·微服务·架构·wpf
我是华为OD~HR~栗栗呀26 分钟前
华为OD-21届考研-Java面经
java·前端·c++·python·华为od·华为·面试
凤山老林28 分钟前
SpringBoot 启动时执行某些操作的 8 种方式
java·开发语言·spring boot·后端
狼爷44 分钟前
Java 开发必看:UUIDv7 终于标准化了!这次真香🔥(基于 uuid-creator 实战)
java
努力搬砖的咸鱼1 小时前
Node.js 和 Java 项目怎么写 Dockerfile
java·开发语言·docker·云原生·容器·node.js
阿无,1 小时前
Java设计模式之装饰者模式
java·开发语言·设计模式
盼哥PyAI实验室1 小时前
序列的力量——Python 内置方法的魔法解密
java·前端·python