【问题标题】:how to prevent gradle from downloading dependencies如何防止gradle下载依赖
【发布时间】:2012-04-14 19:46:21
【问题描述】:
  1. 我们希望有一个执行“svn update”的脚本,如果 depedency.gradle 文件在该更新列表中,我们希望运行一个仅更新依赖项的任务,以便开发人员机器启动迄今为止。那会是什么任务?运行“gradle tasks”时我看不到它。寻找更新罐或其他东西。

  2. 当我们构建我们的项目时,我们根本不希望它检查 jar 更新!!!!最因为这只需要在上面#1的两种情况下以及当有人自己更新dependency.gradle文件时完成。第二件事,一旦我知道问题 #1 的答案,他们就可以运行“gradle updatejars”。

有什么想法吗?我刚刚进入 gradle,我们真的想保持一个一致的环境,当我们运行更新脚本时,它会在一次原子扫描中获取源代码和 jar,我们不再为每次构建时检查存储库而烦恼。

如果可能的话,最好通过更改 build.gradle 文件来了解如何操作。如果没有,是否有命令行选项? (build.gradle 显然会给我一个命令行选项,这就是为什么我更喜欢这种方法,因为我可以说编译不依赖于下载 jar)。

【问题讨论】:

    标签: gradle


    【解决方案1】:

    关于第二个问题。据我了解,Gradle 不会尝试进行远程查找或尝试下载已在本地缓存中的 jar。这对于使用静态版本声明的 jar 来说应该是正确的,例如testCompile 'junit:junit:4.10'.

    如果您有 动态版本,例如1.+1.0-SNAPSHOT 等,那么 Gradle 必须时不时地进行检查。你可以fine tune the cache expiry for such dependencies

    为了确保 Gradle 不会进行远程查找,您还可以使用 --offline 选项。 See this doc for details.

    关于 svn update,你至少有 3 个选项:

    1. 尝试使用SvnKit plugin for Gradle

    2. 使用ant svn任务(这里是怎么做svn checkout

    3. 从 Gradle 运行外部命令。使用 ExecPlugin 或使用 Groovy API 自行实现。

    【讨论】:

      【解决方案2】:

      看起来我可以用这篇文章中的答案做的第一个问题

      how to tell gradle to download all the source jars

      所以我可以 gradle eclipse,它会下载新的 jars 并更新我的类路径......很好。

      【讨论】:

        猜你喜欢
        • 2023-04-02
        • 2020-07-04
        • 2016-09-13
        • 1970-01-01
        • 2014-03-15
        • 2023-03-17
        • 2014-05-02
        • 2023-03-15
        • 2020-06-16
        相关资源
        最近更新 更多