【问题标题】:How to add Gradle nature for Gradle 2.0 to the Eclipse project如何将 Gradle 2.0 的 Gradle 性质添加到 Eclipse 项目中
【发布时间】:2018-11-05 06:49:43
【问题描述】:

我有一个可以由 Gradle 2 从命令提示符编译的项目。但 Gradle 3 无法编译。

在 Eclipse 中,我正在尝试应用配置/添加 Gradle Nature。然后我收到一个错误: “org.gradle.tooling.BuildException: 无法使用 Gradle 分发 'https://services.gradle.org/distributions/gradle-3.5-bin.zip' 运行构建操作。”

有没有办法为 Gradle 2 配置项目?

【问题讨论】:

  • 通过命令行,是否用3级构建?
  • 不,我不能从 Gradle 3 构建它,它在文本中
  • 错误是什么?
  • 请参阅文本:“org.gradle.tooling.BuildException: 无法使用 Gradle 分发 'services.gradle.org/distributions/gradle-3.5-bin.zip' 运行构建操作。”如果你问我 Gradle 3 中的错误,这无关紧要,我们无法修复 Gradle 3 的构建
  • 你检查过项目设置中的“Gradle”页面吗?它允许指定外部 gradle 版本(在启用了 Gardle 特性的 Java 项目上使用“Buildship”在 Oxygen 中测试)。

标签: java eclipse gradle


【解决方案1】:

2 种情况:

1) 您正在使用 Gradle 包装器,请这样设置:

task wrapper(type: Wrapper) { 
    // Use the proper version
    gradleVersion = '2.6'
}

2) 您没有使用 Grade 包装器,请在 Gradle 的设置页面中更改全局设置:

【讨论】:

    【解决方案2】:

    实际上,当 Gradle 构建失败或无法构建模型时,会抛出此 BuildException。

    建议#1:使用刷新依赖:

    您可以使用命令行选项--refresh-dependencies 刷新缓存中的依赖项。

    建议 2:使用删除以前的 jar:

    您也可以删除~/.gradle/caches下的缓存文件。在下一次构建中,Gradle 会尝试再次下载依赖项。

    建议#3:使用 wrapper 是最好的解决方案:

    如果您的项目之前是使用特定版本构建和部署的,那么您无需为使用其他版本而头疼。您可以通过在 build.gradle 文件中添加包装器来轻松完成。

    // Running 'gradle wrapper' will generate gradlew - Getting gradle wrapper working and using it will save you a lot of pain.
    task wrapper(type: Wrapper) {
        gradleVersion = '2.2' 
    }
    

    更多内容,您可以阅读本教程:The Gradle Wrapper

    Gradle Wrapper 的作用是什么?

    当您运行 Gradle Wrapper 时,它会执行以下操作:

    1. 解析传递给 gradlew 的参数
    2. 安装正确的 Gradle 版本
    3. 调用 Gradle 运行指定任务

    包装器实际上与 Gradle 本身完全解耦。

    包装器配置:

    包装器放入项目的其中一个文件是位于gradle/wrapper/gradle-wrapper.properties 的配置文件。

    这个文件通常看起来像这样:

    distributionBase=GRADLE_USER_HOME
    distributionPath=wrapper/dists
    zipStoreBase=GRADLE_USER_HOME
    zipStorePath=wrapper/dists
    distributionUrl=https\://services.gradle.org/distributions/gradle-4.0-all.zip
    

    这里,

    distributionBase + distributionPath --> 指定包装器存储 Gradle 分布的路径。 默认情况下 GRADLE_USER_HOME 是 ~/.gradle,因此包装器会将 Gradle 分发存储在 ~/.gradle/wrapper/dists

    zipStoreBasezipStorePath 非常相似。这些指定包装器将其下载的压缩分发存储在何处。

    distributionUrl --> 它指定了您要用于构建的 Gradle 版本以及从何处下载。

    资源链接:

    Understanding the Gradle Wrapper

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-01-29
      • 2017-04-14
      • 1970-01-01
      • 1970-01-01
      • 2015-01-01
      • 1970-01-01
      • 2012-03-05
      • 1970-01-01
      相关资源
      最近更新 更多