建设部网站安徽网站建设

昆山市鸿迪通金属制品有限公司 2026/09/09 17:49:53

最近折腾jitpack发布,发现他对于项目结构要求比较严格。基本标配就是一个library目录加app,和settings.gradle,gradle这样的配置才行。多模块或者没有模块都比较麻烦。而且之前我遇到过一次,编译等了足足8个小时。

今天研究了mavenCentral,借助神迹github插件,现在已经十分轻松,而且很方便在android studio中操作。直接推荐。

1. 注册

central.sonatype
推荐直接使用github登录即可。官方推荐使用github,能分担他们的服务压力。

2. namespaces

检查是否有Namespaces, 如图:
没有的话,点击Register New Namespace创建。
namespace

3. UserName和Password

登录 Sonatype Central Portal

点击右上角用户头像 →View User Tokens

进入Generate User Token

记录生成的usernamepassword,保存好,后续不可见,后面使用1️⃣。

4. GPG

# 安装 GPG brew install gnupg # 安装 pinentry-mac(用于密码输入) brew install pinentry-mac # 验证安装 gpg --version

也可以选择,自己下载:下载地址

安装完成后在控制台输入gpg --version,即可查看版本号。

生成gpg密钥对:

# 生成密钥(推荐使用 RSA 4096) gpg --full-generate-key

操作(这里最后的passphrase密码,后面有用2️⃣):

请选择您要使用的密钥类型: (1) RSA 和 RSA (2) DSA 和 Elgamal (3) DSA(仅用于签名) (4) RSA(仅用于签名) (9) ECC(签名和加密) (10) ECC(仅用于签名) 您的选择是? 1 RSA 密钥的长度应在 1024 位与 4096 位之间。 您想要使用的密钥长度?(3072) 4096 请设定这个密钥的有效期限。 0 = 密钥永不过期 密钥的有效期限是?(0) 0 真实姓名: Your Name 电子邮件地址: your-email@example.com 注释: Maven Central Deploy Key # 设置一个强密码(passphrase),后续需要使用

查看(丢失了可以重复查看,后面有用3️⃣):

# 列出所有密钥 gpg --list-keys # 列出私钥及 keygrip(用于免密配置) gpg --list-secret-keys --keyid-format LONG ### 输出结果: ---------------------------------- pub rsa4096/123213131423 2026-01-01 [SC] xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxABCD1234 uid [ultimate] Your Name <your-email@example.com> sub rsa4096/XXXXXXXXXXXXXXXX 2026-01-01 [E]

上传到公开的密钥服务器(任一成功即可) :

gpg --keyserver keys.openpgp.org --send-keys xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxABCD1234 gpg --keyserver pgp.mit.edu --send-keys xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxABCD1234 gpg --keyserver keyserver.ubuntu.com --send-keys xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxABCD1234

导出(后面有用4️⃣):

gpg --export-secret-keys -o /Documents/xxx/xxx/secring.gpg

5. 配置属性

接下来,完形填空。创建配置文件,并添加上面操作的:1️⃣,2️⃣,3️⃣,4️⃣。其中3️⃣ 这个ID,注意只要最后的8位

touch ~/.gradle/gradle.properties # 1️⃣ mavenCentralUsername=2xxxXx mavenCentralPassword=Sf111111xxxxdxxxxdddxxxK # 2️⃣ signing.password=xxxx # 3️⃣ signing.keyId=abcd1234 # 4️⃣ signing.secretKeyRingFile=/Users/xxx/XXX/secring.gpg

6. 集成模块插件

直接在module的build.gradle中集成:

plugins{...id("com.vanniktech.maven.publish")version"0.35.0"}mavenPublishing{publishToMavenCentral()signAllPublications()}mavenPublishing{coordinates("com.example.mylibrary","library-name","1.0.3")pom{name="My Library"description="A description of what my library does."inceptionYear="2026"url="https://github.com/username/mylibrary/"licenses{license{name="The Apache License, Version 2.0"url="http://www.apache.org/licenses/LICENSE-2.0.txt"distribution="http://www.apache.org/licenses/LICENSE-2.0.txt"}}developers{developer{id="username"name="User Name"url="https://github.com/username/"}}scm{url="https://github.com/username/mylibrary/"connection="scm:git:git://github.com/username/mylibrary.git"developerConnection="scm:git:ssh://git@github.com/username/mylibrary.git"}}}

多个模块的时候,复制这些到其他子模块。修改其他的配置version,name等模块信息。

7. 发布

然后选择模块下的publishToMavenCentral,点击。你不用编译,他自己会编译。

注意这个时候,还没有发布:

再上到publishing。点击发布:

左边变成了· PUBLISHING状态。
等待几分钟。发布成功!

另外

建议在开发中,不要每次有一点修改就去发布。这样白费时间。错了还得修改。在前面发布的时候,不要急着publishToMavenCentral,而是先publishToMavenLocal()

在使用模块的项目中:
配置根目录settings.gradle:
添加本地mavenLocal()和一些镜像站:

dependencyResolutionManagement{repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)repositories{mavenLocal()//追加一个本地查找maven{url'https://maven.aliyun.com/repository/public'}maven{url'https://maven.aliyun.com/repository/google'}maven{url'https://maven.aliyun.com/repository/central'}maven{url'https://repo.huaweicloud.com/repository/maven/'}maven{url'https://mirrors.cloud.tencent.com/nexus/repository/maven-public/'}maven{url'https://mirrors.163.com/maven/repository/maven-public/'}google()mavenCentral()maven{url'https://www.jitpack.io'}}}
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈,一经查实,立即删除!

渭南网站建设漳州网站建设

Vue3 + PaddleJS OCR 开发总结与技术深度解析项目概述本项目是一个基于 Vue3 + Vite + PaddleJS OCR 构建的光学字符识别应用࿰

2026/06/30 12:51:33

网站建设方案物流网站建设

还在为个人收款支付功能而烦恼吗?🤔 XPay个人免签收款支付系统正是你需要的解决方案!这款基于Java开发的系统能够帮助个人用户轻松实现多种支付方式的集成&

2026/06/30 09:48:47

莱州网站建设网站建设课程

戴森球计划终极蓝图指南:从入门到精通的完整工厂体系搭建方案【免费下载链接】FactoryBluePrints游戏戴森球计划的**工厂**蓝图仓库项目地址: https://gitcode

2026/06/30 10:36:51

唐山网站建设怀化网站建设

实用脚本:索引程序与统计脚本解析在编程世界中,有许多实用的脚本程序能帮助我们解决各种问题。本文将详细介绍主索引程序中的一些有趣细节,以及一系列由 Usenet 用户贡献的实用脚本。主索引程序的细节主索

2026/06/30 13:32:36

宝安网站建设福田网站建设

Firebase Admin PHP SDK:企业级后端开发的终极解决方案【免费下载链接】firebase-phpUnofficial Firebase Admin SDK for PH

2026/06/30 12:30:02

青海网站建设渭南网站建设

动物园动物行为记录:饲养员日常观察的智能汇总在一座现代化动物园里,每天清晨,饲养员走进园区的第一件事就是打开平板电脑,开始填写昨日的动物行为日志

2026/06/30 14:06:39

建设银行官方网站舟山网站建设

LPrint终极指南:如何实现全平台免驱动标签打印【免费下载链接】lprintA Label Printer Application项目地址: https://gitcode.com/g

2026/06/30 10:13:19

外贸网站建设滁州网站建设

文章目录Java面试必会:守护线程创建核心技术解析引言一、什么是守护线程?1. 守护线程的定义2. 守护线程的作用二、守护线程的核心技术点1. 如何创建守护线程࿱

2026/06/30 11:44:57