当前位置: 首页 > news >正文

Gradle 发布Jar到 Maven Central

1. 前置步骤

自 2024 年 3 月 12 日起,所有注册和发布都将通过 Central Portal 进行。

  1. Central Portal 帐户
  2. 注册命名空间
  3. 可用于对工件进行签名的 GPG 密钥
    1. 创建 GPG 密钥对
    2. 分发公钥
    3. 如果不下载 GPG 可以使用 git 的Git\usr\bin\gpg.exe

更多教程参考本文: 如何发布jar包到maven中央仓库(2024年3月最新版保姆级教程)

如果遇到命名空间无法创建请参阅这篇文章: 记一次从 Legacy OSSRH 到 Central Portal 进行迁移

2. 配置插件

截至到当前为止 Gradle 并没有任何官方插件用于发布 Jar 到Maven。故而这里选择一款开源插件用来帮助我们来实现

2.1 com.vanniktech.maven.publish

Gradle 插件可创建一项publish任务,自动将所有 Java、Kotlin 或 Android 库上传到任何 Maven 实例。此插件基于Chris Banes 的初始实现 ,并进行了增强以添加 Kotlin 支持并跟上最新变化。
该插件内置了许多插件因此可以直接使用大部分功能

引入插件

plugins{id("com.vanniktech.maven.publish")version"0.32.0"}

2.2 配置插件

这里直接复制我的配置即可,所有的变量都是可以改变的。

valartifactId="HeadlessChrome"valgroupId="io.github.zimoyin"valversionId="1.0"valdescriptions="Headless Chrome"valauthorName="zimoyin"valdeveloperId=authorNamevalgitRepoName=artifactIdvalgitUri="github.com/${authorName}"valemails="tianxuanzimo@qq.com"vallicense="The Apache License, Version 2.0"vallicenseUrl="https://www.apache.org/licenses/LICENSE-2.0.txt"description=descriptions group=groupId version=versionId mavenPublishing{publishToMavenCentral(SonatypeHost.CENTRAL_PORTAL)signAllPublications()if(!project.hasProperty("mavenCentralUsername")){throwIllegalArgumentException("mavenCentralUsername is not set")}elseif(!project.hasProperty("mavenCentralPassword")){throwIllegalArgumentException("mavenCentralPassword is not set")}elseif(!project.hasProperty("signing.keyId")){throwIllegalArgumentException("signing.keyId is not set")}elseif(!project.hasProperty("signing.password")){throwIllegalArgumentException("signing.password is not set")}coordinates(groupId,artifactId,versionId)pom{name.set(artifactId)description.set(descriptions)inceptionYear.set("2025")url.set("https://$gitUri/$gitRepoName/")licenses{license{name.set(license)url.set(licenseUrl)distribution.set(licenseUrl)}}developers{developer{id.set(developerId)name.set(authorName)email.set(emails)url.set("https://$gitUri")}}scm{url.set(gitRepoName)connection.set("scm:git:git://$gitUri/$gitRepoName.git")developerConnection.set("scm:git:ssh://git@$gitUri/$gitRepoName.git")}}}

2.3 配置密钥

在项目根目录下build.gradle.kts旁边有个gradle.properties我们需要在里面配置密钥,但是注意不要将gradle.properties进行版本托管,否则可能会泄露

kotlin.code.style=official mavenCentralUsername=...mavenCentralPassword=...signing.keyId=5F82D2CD signing.password=...signing.secretKeyRingFile=private.bin

依次解释这个几个配置

如果你通过Generate User Token生成后就会的到这个配置,这个配置的内容就是你所需要的 name,pasdword。

如果你不知道我在说什么请重新查阅阶段一的详细教程,是另外一个博主的文章: 如何发布jar包到maven中央仓库(2024年3月最新版保姆级教程)
或者你在 central 网站中找到 你的头像(主页)—> View Account —> Generate User Token

<server><id>...</id><username>...</username><password>...</password></server>
gpg --export-secret-keys-oprivate.bin[公钥ID后八位]

如果你需要更多的关于 gpg 的知识请查阅文章前面关于 gpg 的文章地址引用

2.4 发布打包

IDEA 里面找到publishing–>publishAllPublicationsToMavenCentralRepository,运行它即可

3. android 发布包

步骤同上,但是你需要修改以下几个地方,包括文件位置。

4. 注意依赖传递

在你需要上传到 maven 的项目中,依赖使用了api或者implementation引入其他依赖是不同的。使用implementation引入的依赖无法被引用了该项目的人使用。详见

http://www.jsqmd.com/news/1206737/

相关文章:

  • AR眼镜技术突破与市场前景分析
  • MifareOneTool技术解密:Windows平台下的MIFARE Classic图形化操作架构深度剖析
  • 定西黄金上门回收完整避坑指南|2026 年 7 月金价参考,安定通渭陇西渭源临洮漳县正规门店汇总 - 不晚生活号
  • Balena Etcher终极指南:3分钟学会安全烧录系统镜像
  • 改良西门子法:多晶硅制备的核心工艺解析
  • GraphQL接口交付周期缩短87%:AI自动生成TypeScript Resolver、Jest测试与GraphiQL文档(限内部团队验证版)
  • @expo/vector-icons常见问题解答:解决图标显示与适配难题的完整指南
  • KMS智能激活脚本终极指南:5分钟搞定Windows和Office永久激活
  • 线性代数实战:初等变换求逆与解方程组(附理论、应用与Python源码)
  • Redis排行榜架构设计:从一个ZSet到亿级排行榜
  • 一键批量下载网页资源并保持文件夹结构:Chrome扩展终极解决方案
  • 如何一次性解决Windows系统所有Visual C++运行库问题:终极解决方案
  • 基于规则引擎的自动化地图生成:告别手动绘制的技术实现
  • Translumo:Windows平台实时屏幕翻译工具完整指南
  • Turtl桌面应用插件开发教程:扩展功能的完整实现方案
  • 美度中国官方售后服务中心|服务热线及门店详细地址权威信息通知(2026年7月最新) - 亨得利官方服务中心
  • 鸣潮模组终极指南:3步解锁WuWa-Mod无限潜能,重塑你的游戏体验
  • 微信聊天记录永久保存:开源工具WeChatMsg全攻略
  • 如何实现美的智能设备本地控制:3分钟完成Home Assistant集成方案
  • ComfyUI提示词多阶段调度实战手册(含Stable Diffusion XL 1.0+Flux模型适配表)——仅限首批200名开发者获取
  • Awesome Federated Learning实战指南:如何构建你的第一个联邦学习系统
  • CANN/asc-devkit TQueBind简介
  • Nexus技术解析:向量检索到知识编译的范式迁移
  • 终极MacOS光标管理器:Mousecape完整使用指南与个性化定制
  • XHS-Downloader终极指南:如何轻松下载小红书无水印作品
  • 重庆能源工业技师学院:技能点亮未来,2026年招生全面启动 - 学习招生
  • MediaCrawler:基于Playwright浏览器搭桥技术的多平台社交媒体数据采集框架
  • 5分钟快速上手:全网资源下载神器res-downloader终极使用指南
  • Windows 11界面定制革命:ExplorerPatcher深度技术解析与实战指南
  • Claude与Codex双AI终端协作开发实践指南