Java 如何加速jar签名?
我使用ant为web start部署的JAR签名。 当web开始签名时,Ant.signjar非常慢。Java 如何加速jar签名?,java,performance,ant,jar,signer,Java,Performance,Ant,Jar,Signer,我使用ant为web start部署的JAR签名。 当web开始签名时,Ant.signjar非常慢。 如何加快签名过程?我找到了一个可能的解决方案 在前面的构建脚本ant.signjar中,对所有jar按顺序调用(我们使用gradle进行构建,依赖项超过20MB)。现在我使用groovy库GPAR方法:withPool(4)和eachParallel{ant.signjar}。这是很酷的2个核心在我的电脑和4个核心在构建服务器。(快3倍) 第二个技巧是缓存:我们对所有发布/非快照依赖项使用缓存
如何加快签名过程?我找到了一个可能的解决方案 在前面的构建脚本ant.signjar中,对所有jar按顺序调用(我们使用gradle进行构建,依赖项超过20MB)。现在我使用groovy库GPAR方法:withPool(4)和eachParallel{ant.signjar}。这是很酷的2个核心在我的电脑和4个核心在构建服务器。(快3倍)
第二个技巧是缓存:我们对所有发布/非快照依赖项使用缓存的签名JAR。当我们在不使用clean的情况下运行build时,它运行得更快,因为它使用来自build目录的缓存签名lib。我通常使用两个目标:一个用于对整个项目进行签名,另一个用于仅对我的jar进行签名。因此,后者不会重新签名依赖项,从而使签名过程更快。您签名了多少个JAR?+1,我面临同样的问题。如果
Ant
可以检查目标是否存在并且它是否已签名,那么最好再次跳过签名。我相信Ant会在签名之前检查目标是否已使用正确的密钥签名。这就是我从Gradle内部使用ant.signjar的经验。(我并没有使用Gradle的增量构建和输入输出,而是ant.signjar跳过了签名)。这正是我想要做的,您是如何缓存第三方签名的JAR的?我使用的是nexus repo,但我想在这个repo中签署JAR,而不必担心在升级依赖项版本时手动执行任何操作。