我需要签署 jar 文件。我这样做是应用插件“签名”并添加 block 符号,如下所示:
apply plugin: 'signing'
signing {
required { gradle.taskGraph.hasTask("makeService") }
sign configurations.archives
}
最后,我可以添加 PGP key 并对 jar 进行签名,但它是在 jar 文件外部使用 .asc (testJar.jar.asc) 进行签名的。
但我是在 maven 中这样做的,它对所有类信息进行签名并将签名文件放在 meta-inf 目录中。
Gradle 中有没有这样的签名?
请帮助我尝试谷歌搜索和论坛无法获得任何信息。
最佳答案
//Signing
// def jarsignerskip = false
def keystoreFile = new File('urkeystore.jks')
def keystorepass = 'keystoreP@@S'
def keyalias = 'selfSigned'
task signJar(dependsOn: 'jar',description: 'to Sign JAR.',group: 'Build'){
doLast{
println ":$project.name:${name}"
def signdir = new File("$buildDir/jars/signed")
signdir.mkdirs()
ant.signjar(
destDir: "${signdir.absolutePath}",
jar: 'build/jars/*.jar',
alias:keyalias,
storetype:"jks",
keystore:"${keystoreFile.absolutePath}",
storepass:keystorepass,
verbose:true,
preservelastmodified:"true"
)
}
}
它对我有用。
关于gradle - 如何在 Gradle 中签署 jar 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39763822/