一、插件地址:https://github.com/vanniktech/gradle-maven-publish-plugin?tab=readme-ov-file
二、Maven中心:https://vanniktech.github.io/gradle-maven-publish-plugin/central/
2.1、中央门户帐户,用github账号登陆:gh1225987336
2.2、已注册的命名空间,除了默认的:io.github.gh1225987336,还自己针对gitee创建了一个:io.gitee.gh1225987336
2.3、使用 windows 的 PwoerShell 命令
1、创建GPG密钥对
需要先安装 GnuPG二进制包:https://gnupg.org/download/index.html#sec-1-2
这里要注意很坑,官网的有误导,参考博客
这里使用的 windows 的 PwoerShell 命令,管理员身份运行
Microsoft Windows [版本 10.0.19045.4529]
(c) Microsoft Corporation。保留所有权利。
C:\Users\yl>gpg --full-generate-key
gpg (GnuPG) 2.4.5; Copyright (C) 2024 g10 Code GmbH
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
Please select what kind of key you want:
(1) RSA and RSA
(2) DSA and Elgamal
(3) DSA (sign only)
(4) RSA (sign only)
(9) ECC (sign and encrypt) *default*
(10) ECC (sign only)
(14) Existing key from card
Your selection? 4
RSA keys may be between 1024 and 4096 bits long.
What keysize do you want? (3072)
Requested keysize is 3072 bits
Please specify how long the key should be valid.
0 = key does not expire
<n> = key expires in n days
<n>w = key expires in n weeks
<n>m = key expires in n months
<n>y = key expires in n years
Key is valid for? (0)
Key does not expire at all
Is this correct? (y/N) y
GnuPG needs to construct a user ID to identify your key.
Real name: gh1225987336
Email address: 1225987336@qq.com
Comment:
You selected this USER-ID:
"gh1225987336 <1225987336@qq.com>"
Change (N)ame, (C)omment, (E)mail or (O)kay/(Q)uit? O
We need to generate a lot of random bytes. It is a good idea to perform
some other action (type on the keyboard, move the mouse, utilize the
disks) during the prime generation; this gives the random number
generator a better chance to gain enough entropy.
gpg: revocation certificate stored as 'C:\\Users\\yl\\AppData\\Roaming\\gnupg\\openpgp-revocs.d\\5589E74196338D53DF0A54C2873C51956A63241A.rev'
public and secret key created and signed.
Note that this key cannot be used for encryption. You may want to use
the command "--edit-key" to generate a subkey for this purpose.
pub rsa3072 2024-06-23 [SC]
5589E74196338D53DF0A54C2873C51956A63241A
uid gh1225987336 <1225987336@qq.com>
C:\Users\yl>
2、分发密钥
Microsoft Windows [版本 10.0.19045.4529]
(c) Microsoft Corporation。保留所有权利。
C:\Users\yl>gpg --keyserver keyserver.ubuntu.com --send-keys 5589E74196338D53DF0A54C2873C51956A63241A
gpg: sending key 873C51956A63241A to hkp://keyserver.ubuntu.com
C:\Users\yl>
3、查询分发结果
Microsoft Windows [版本 10.0.19045.4529]
(c) Microsoft Corporation。保留所有权利。
C:\Users\yl>gpg --keyserver keyserver.ubuntu.com --recv-keys 5589E74196338D53DF0A54C2873C51956A63241A
gpg: key 873C51956A63241A: "gh1225987336 <1225987336@qq.com>" not changed
gpg: Total number processed: 1
gpg: unchanged: 1
C:\Users\yl>
4、下面这里创建的错了(上面说的按照官网的坑)
参考:https://blog.csdn.net/ThomasChant/article/details/118940537
Microsoft Windows [版本 10.0.19045.4529]
(c) Microsoft Corporation。保留所有权利。
C:\Users\yl>gpg --gen-key
gpg (GnuPG) 2.4.5; Copyright (C) 2024 g10 Code GmbH
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
Note: Use "gpg --full-generate-key" for a full featured key generation dialog.
GnuPG needs to construct a user ID to identify your key.
Real name: gh1225987336
Email address: 1225987336@qq.com
You selected this USER-ID:
"gh1225987336 <1225987336@qq.com>"
Change (N)ame, (E)mail, or (O)kay/(Q)uit? O
We need to generate a lot of random bytes. It is a good idea to perform
some other action (type on the keyboard, move the mouse, utilize the
disks) during the prime generation; this gives the random number
generator a better chance to gain enough entropy.
We need to generate a lot of random bytes. It is a good idea to perform
some other action (type on the keyboard, move the mouse, utilize the
disks) during the prime generation; this gives the random number
generator a better chance to gain enough entropy.
gpg: C:\\Users\\yl\\AppData\\Roaming\\gnupg\\trustdb.gpg: trustdb created
gpg: directory 'C:\\Users\\yl\\AppData\\Roaming\\gnupg\\openpgp-revocs.d' created
gpg: revocation certificate stored as 'C:\\Users\\yl\\AppData\\Roaming\\gnupg\\openpgp-revocs.d\\BA1C440AAFCC1D98109A92700CC363940BC62E03.rev'
public and secret key created and signed.
pub ed25519 2024-06-22 [SC] [expires: 2027-06-22]
BA1C440AAFCC1D98109A92700CC363940BC62E03
uid gh1225987336 <1225987336@qq.com>
sub cv25519 2024-06-22 [E] [expires: 2027-06-22]
C:\Users\yl>
C:\Users\yl>gpg --keyserver keyserver.ubuntu.com --send-keys BA1C440AAFCC1D98109A92700CC363940BC62E03
gpg: sending key 0CC363940BC62E03 to hkp://keyserver.ubuntu.com
C:\Users\yl>
查询分发结果
Microsoft Windows [版本 10.0.19045.4529]
(c) Microsoft Corporation。保留所有权利。
C:\Users\yl>gpg --keyserver keyserver.ubuntu.com --recv-keys BA1C440AAFCC1D98109A92700CC363940BC62E03
gpg: key 0CC363940BC62E03: "gh1225987336 <1225987336@qq.com>" not changed
gpg: Total number processed: 1
gpg: unchanged: 1
C:\Users\yl>
2.4、 配置环境变量
1、获取内存中 GPG 密钥
Microsoft Windows [版本 10.0.19045.4529]
(c) Microsoft Corporation。保留所有权利。
C:\Users\yl>gpg --export-secret-keys --armor "gh1225987336 <1225987336@qq.com>"
-----BEGIN PGP PRIVATE KEY BLOCK-----
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
=oV3f
-----END PGP PRIVATE KEY BLOCK-----
C:\Users\yl>
2、以文件形式导出到指定目录
这里很坑,用官网的命令导出有问题,下面的命令来源在这里:链接
这里一定要切记,需要使用 windows 的 PwoerShell 命令,并且使用管理员身份运行
gpg --export-secret-keys -o D:\AndroidProject\secring.gpg
Windows PowerShell
版权所有 (C) Microsoft Corporation。保留所有权利。
尝试新的跨平台 PowerShell https://aka.ms/pscore6
PS C:\Windows\system32> gpg --export-secret-keys -o D:\AndroidProject\secring.gpg
PS C:\Windows\system32> 1994.10.24.yl
3、获取公钥ID(如果已经有了可以使用这个命令查询)
Microsoft Windows [版本 10.0.19045.4529]
(c) Microsoft Corporation。保留所有权利。
C:\Users\yl>gpg --list-keys
[keyboxd]
---------
pub rsa3072 2024-06-23 [SC]
5589E74196338D53DF0A54C2873C51956A63241A
uid [ultimate] gh1225987336 <1225987336@qq.com>
C:\Users\yl>
4、配置到c盘:C:\Users\yl\.gradle 下的 gradle.properties 文件中
到这一步就可以上传本地了,注意这个key取 5589E74196338D53DF0A54C2873C51956A63241A 的后8位
signing.keyId = 6A63241A
signing.password = 1994.10.24.yl
signing.secretKeyRingFile = D\:\\AndroidProject\\secring.gpg
三、下面的步骤还没搞好
2024最新maven上传方法,找到篇文章:https://blog.csdn.net/qq_34905631/article/details/136822495
使用其他存储库,GitHub Packages的,找到这篇:链接
token令牌,只显示一次,注意保管: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
获取Sonatype账号&密码(这一步还存疑,账号密码是不是指的这个)
链接:https://central.sonatype.com/account
<server>
<id>${server}</id>
<username>b7T1iV1a</username>
<password>Dds4P5ZbzIF3JyI5yoW0J7aqL/aMszFuajqjPQ9J4Y/P</password>
</server>
配置环境变量
# Sonatype账号&密码
ORG_GRADLE_PROJECT_mavenCentralUsername=LXrYiNpc
ORG_GRADLE_PROJECT_mavenCentralPassword=q3encKQUucRvWDDooEXqDIh7RukluSyADI+MgVTxUC/h
# see below for how to obtain this
ORG_GRADLE_PROJECT_signingInMemoryKey=lIYEZnarDhYJKwYBBAHaRw8BAQdAlRdC9Vx1xvvkIzbNhviSYRvy2JIcoEUyYG4KTk7CYvr+BwMCdI9/fMAswoHO/sU8MEk4hArtnOq33WCZbNBJZHrGAU1mBVNz6xIkID/Otn29PLJ7Zt+k55Xa/DDu1mH6lt19iM14jOL6D7Qtpozit/u/KbQgZ2gxMjI1OTg3MzM2IDwxMjI1OTg3MzM2QHFxLmNvbT6ImQQTFgoAQRYhBLocRAqvzB2YEJqScAzDY5QLxi4DBQJmdqsOAhsDBQkFo5qABQsJCAcCAiICBhUKCQgLAgQWAgMBAh4HAheAAAoJEAzDY5QLxi4D0Z8A/1Vuih34YFViPKV/TZmeCi8UqYkDmoh8d58vtygh48cgAPoDqSmSzoGLW1Rrt/89QXjKIvE7Ds1HPqHqBQwOlScYCZyLBGZ2qw4SCisGAQQBl1UBBQEBB0D54sDMKgyIfY+X3eSy4pwhqS579xCR0DUQFjzwuXswQAMBCAf+BwMC8LHO2YbaHunOWFwU16+Ewb/NiSQzzshdCF4hwK5XQs8WfV9ry9Rrj89lf5IeyMq2Y7KS4eyrUk/OIqYUSVFv5T0p8+46Z/cu8FX5x9OlRoh+BBgWCgAmFiEEuhxECq/MHZgQmpJwDMNjlAvGLgMFAmZ2qw4CGwwFCQWjmoAACgkQDMNjlAvGLgOLggEA9ib3v4hgFQ/QOkG+uZrJqdbkJHuALbzM3nJQRlQGOF0BAJuK5DXjhZ9UKSfamz1LPQ39vN2JrskIl3hAjDCJw7UP=9vhu
# 密钥ID的后8位
ORG_GRADLE_PROJECT_signingInMemoryKeyId=BA1C440AAFCC1D98109A92700CC363940BC62E03
# 密钥密码
ORG_GRADLE_PROJECT_signingInMemoryKeyPassword=1994.10.24.yl