gpt4 book ai didi

maven - 使用 Gradle maven-publish 和签名插件时缺少校验和文件

转载 作者:行者123 更新时间:2023-12-04 13:58:30 26 4
gpt4 key购买 nike

我有一个使用 Gradle 构建和打包的 Java 项目。我的目的是创建发布到 Maven Central 的 Artifact 。

作为第一步,我配置了我的 Gradle 项目,如文档中的以下示例所示:

https://docs.gradle.org/current/userguide/publishing_maven.html#publishing_maven:complete_example

当我跑 gradle publishToMavenLocal ,我在本地存储库中安装了以下文件:

maven-metadata-local.xml
my-library-1.0.2-SNAPSHOT.jar
my-library-1.0.2-SNAPSHOT.jar.asc
my-library-1.0.2-SNAPSHOT-javadoc.jar
my-library-1.0.2-SNAPSHOT-javadoc.jar.asc
my-library-1.0.2-SNAPSHOT.pom
my-library-1.0.2-SNAPSHOT.pom.asc
my-library-1.0.2-SNAPSHOT-sources.jar
my-library-1.0.2-SNAPSHOT-sources.jar.asc



文件一切正常。我唯一的问题是没有生成校验和文件(md5 和 sha1)。但是,校验和文件是通过 OSS Sonatype 在 Maven Central 上部署 Artifact 的要求。

如何生成丢失的校验和文件?似乎 maven-publish 或签名插件没有用于此目的的选项?怎么了?

最佳答案

我找到的解决方案是使用 shadow连同 ant.checksum :

tasks.withType(Jar) { task ->
task.doLast {
ant.checksum algorithm: 'md5', file: it.archivePath
ant.checksum algorithm: 'sha1', file: it.archivePath
ant.checksum algorithm: 'sha-256', file: it.archivePath, fileext: '.sha256'
ant.checksum algorithm: 'sha-512', file: it.archivePath, fileext: '.sha512'
}
}
调用 gradle publishShadowPublicationToMavenLocal将根据需要生成签名,但不会将它们发布到 ~/.m2 .
起初我以为那些签名应该是自动的,所以我打开了 https://github.com/johnrengelman/shadow/issues/718讨论。

关于maven - 使用 Gradle maven-publish 和签名插件时缺少校验和文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56860757/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com