【问题标题】:Gradle build configured signatoryGradle 构建配置签名者
【发布时间】:2018-08-22 16:53:45
【问题描述】:

我正在查看webpush-java 代码。我在尝试使用 gradle 构建项目时遇到问题。 (我是 gradle 新手)。

:signArchives 失败

FAILURE:构建失败并出现异常。

  • 出了什么问题:任务“:signArchives”执行失败。
    无法执行签名任务“:signArchives”,因为它没有 配置签名者

我想我需要配置一个签名者。我该怎么做?

【问题讨论】:

    标签: java gradle push-notification pem web-push


    【解决方案1】:

    引用Signing plugin documentation,当您在 HOME 目录的 gradle.properties 文件中提供预期的 GPG 变量时,您应该能够解决错误: p>

    # 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 分别。签名插件会在构建过程中自动获取它们。

    【讨论】:

      【解决方案2】:

      另一个不需要特殊命令行选项的选项是在 build.gradle 中添加以下内容:

      signing {
          setRequired {
              // signing is only required if the artifacts are to be published
              gradle.taskGraph.allTasks.any { it.equals( PublishToMavenRepository) }
          }
          ....
      

      参见例如https://github.com/Vampire/command-framework/blob/master/buildSrc/src/main/kotlin/net/kautler/publishing.gradle.kts#L157

      【讨论】:

        【解决方案3】:

        在这里找到解决方案https://github.com/jaegertracing/jaeger-client-java/issues/202 使用下面的命令。

        ./gradlew assemble -x signArchives

        【讨论】:

        • -x signArchives 表示不执行签名。虽然这解决了错误,但它并没有达到 OP 的要求(我如何配置签字人)。
        【解决方案4】:

        我遇到了同样的问题,原因如下:
        我没有将 gpg 密钥分发到任何服务器;
        我正在使用 inMemory 进行签名,但我不应该

        完整答案与 build.gradle 文件和 gradle.properties 文件的链接:https://stackoverflow.com/a/68505768/7937498

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2021-02-04
          • 2015-06-19
          • 2013-07-02
          • 2017-03-09
          相关资源
          最近更新 更多