【问题标题】:Tell gradle to bypass dependency checks告诉 gradle 绕过依赖检查
【发布时间】:2014-11-23 05:19:38
【问题描述】:

我在一个客户站点,位于防火墙后面。我正在尝试编译,但 gradle 一直在尝试检查我的依赖项。公司防火墙明确阻止了 Maven 下载,所以我的构建失败了。现在我之前已经编译过了,所以我的 [user]/.gradle 文件夹中确实已经存在依赖项,但是它已经超过 24 小时,所以 gradle 正在尝试每天执行“让我们检查 repo 并确保没有任何改变的东西”。

是否有一个命令开关或我在这里根本看不到的任何东西来告诉 gradle 绕过这个版本检查并简单地编译代码?我什至会对一个命令开关感到满意,它说我不在乎依赖解析是否失败,无论如何都要编译。

【问题讨论】:

标签: gradle


【解决方案1】:

试试--offline 命令行开关。

【讨论】:

  • 以防你像我一样迷路:--offline 参数添加在 gradle 命令的末尾,例如:gradlew myCustomTask --offline
【解决方案2】:

你仍然需要编译一次才能在线获取依赖,所以--offline只有在你编译成功一次后才有效。

我能够让它工作的唯一方法是将我的手机连接到我的机器上,然后连接到我的蜂窝网络服务来上网。这样,我绕过了我公司的代理和防火墙,并且能够下载一次依赖项。

之后,我可以在连接到公司网络时进行编译。只是不要清理你的项目,否则你会回到现在的位置。

【讨论】:

    【解决方案3】:

    我发现这个问题是因为我想在运行 gradle check 的 git 预提交挂钩中缩短 Maven 依赖项检查以获得更好的性能。我最终做了:

    if ! ( gradle --offline check || gradle check ); then
      exit 1
    fi
    

    使用--offline 尝试一次,如果第一次尝试失败,则不使用--offline 再次尝试。

    【讨论】:

      猜你喜欢
      • 2013-06-25
      • 1970-01-01
      • 2015-12-08
      • 1970-01-01
      • 2017-07-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-11-01
      相关资源
      最近更新 更多