我正在查看 webpush-java 代码。我在尝试使用 gradle 构建项目时遇到了问题。 (我是 gradle 新手)。
:签署档案失败
FAILURE:构建失败并出现异常。
- 出了什么问题:任务“:signArchives”执行失败。
无法执行签名任务“:signArchives”,因为它没有 配置签名者
我想我需要配置一个签名者。我该怎么做?
引用签名插件文档,当您在 HOME 目录中的 gradle.properties 文件中提供预期的 GPG 变量时,您应该能够解决错误:
# File location: ~/.gradle/gradle.properties - see https://docs.gradle.org/current/userguide/directory_layout.html
signing.keyId=24875D73
signing.password=secret
signing.secretKeyRingFile=/Users/me/.gnupg/secring.gpg
Gradle 对应。签名插件将在构建过程中自动选取它们。
另一个不需要特殊命令行选项的选项是在您的
build.gradle.kts
中添加以下内容:
signing {
setRequired {
// signing is only required if the artifacts are to be published
gradle.taskGraph.allTasks.any { it.equals( PublishToMavenRepository) }
}
....
或 Groovy (
build.gradle
):
signing {
required {
// signing is only required if the artifacts are to be published
gradle.taskGraph.hasTask("publishToMavenRepository")
}
....
我遇到了同样的问题,这是因为以下几个原因:
我没有将 gpg 密钥分发到任何服务器;
我使用 inMemory 进行签名,但我不应该
包含 build.gradle 文件和 gradle.properties 文件的完整答案的链接:https://stackoverflow.com/a/68505768/7937498
在这里找到解决方案https://github.com/jaegertracing/jaeger-client-java/issues/202 使用以下命令。
./gradlew assemble -x signArchives