You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Gradle签名插件问题:生成未签名Jar及.asc文件

问题分析与解决方案

核心原因

Gradle Signing插件的sign jar任务默认行为是生成对应Jar文件的ASCII签名文件(.asc),而非修改原Jar文件本身。你看到未签名的Jar和.asc文件是完全正常的——签名是作为附加文件存在的,验证时需要同时使用Jar和.asc文件。

关键配置检查

确保~/.gradle/gradle.properties中的密钥信息配置正确,需要包含以下三个属性:

# 8位十六进制密钥ID(可通过gpg --list-keys查看)
signing.keyId=XXXXXXX
# 私钥环文件路径,GPG 1.x用~/.gnupg/secring.gpg,GPG 2.x通常用~/.gnupg/pubring.kbx
signing.secretKeyRingFile=~/.gnupg/secring.gpg
# 私钥保护密码
signing.password=your-key-password

完整可用配置示例

build.gradle(Groovy)

plugins {
    id 'java'
    id 'signing'
}

signing {
    // 签名Jar任务的产物
    sign jar
}

// 可选:将签名任务绑定到assemble任务,执行assemble时自动触发签名
tasks.assemble.dependsOn tasks.signJar

验证签名有效性

执行签名后,可通过GPG命令验证签名是否有效:

gpg --verify your-project.jar.asc your-project.jar

如果输出中包含"Good signature from"字样,说明签名成功。

内容的提问来源于stack exchange,提问作者christosonjava

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.15 07:30:53