【问题标题】:How to speedup jar signer?如何加速jarsigner?
【发布时间】:2013-01-04 12:27:26
【问题描述】:

我使用 ant 为我的 jars 签名以进行 web-start 部署。 Ant.signjar 在 web 启动签名时非常慢。 如何加快签名进程?

【问题讨论】:

  • 你签了多少罐子?
  • +1,我面临同样的问题。如果Ant 可以检查目标是否存在并且已签名,那就太好了,所以只需再次跳过签名。
  • 我相信 ant 会在签名前检查目标是否使用正确的密钥签名。这是我在 Gradle 中使用 ant.signjar 时的经验。 (而且我没有在输入和输出中使用 Gradle 的增量构建,而是 ant.signjar 跳过了签名)。

标签: java performance ant jar signer


【解决方案1】:

我找到了一种可能的解决方案。

之前在构建脚本 ant.signjar 中为所有 jars 顺序调用(我们使用 gradle 构建,超过 20 MB 的依赖项)。现在我使用 groovy 库 GPars 方法:withPool(4) 和 eachParallel { ant.signjar }。我的电脑有 2 个核心,构建服务器有 4 个核心,这很酷。 (快 3 倍)

第二个技巧是缓存:我们对所有 RELEASE/NON-SNAPSHOT 依赖项使用缓存的签名 jar。当我们在没有 clean 的情况下运行 build 时,它运行得更快,因为它使用了来自 build 目录的缓存签名库。

【讨论】:

  • 这正是我想要做的,你是如何缓存第 3 方签名的 jar 的?我正在使用一个 nexus repo,但我想在这个 repo 中签署 jars,并且在我们升级依赖项的版本时不必担心手动做任何事情。
【解决方案2】:

我通常使用 2 个目标:一个用于签署整个项目,一个用于仅签署我的 jar。所以后者不会对依赖项重新签名,使签名过程更快。

【讨论】:

    猜你喜欢
    • 2017-09-26
    • 1970-01-01
    • 2014-02-22
    • 2010-11-01
    • 2012-08-21
    • 1970-01-01
    • 2011-11-17
    • 1970-01-01
    相关资源
    最近更新 更多