java - 如何将Gradle 2.0的Gradle性质添加到Eclipse项目中

标签 java eclipse gradle

我有一个项目可以通过 Gradle 2 从命令提示符编译。但它不能被 Gradle 3 编译。

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

有什么方法可以为 Gradle 2 配置项目吗?

最佳答案

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

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

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

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

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

建议#3:使用包装器是最好的解决方案:

如果您的项目之前是使用特定版本构建和部署的,那么您无需为使用其他版本而头疼。您可以通过在 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 本身完全分离。

包装器配置:

wrapper 放置在您项目中的文件之一是位于 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

关于java - 如何将Gradle 2.0的Gradle性质添加到Eclipse项目中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50536505/

相关文章:

java - 用数据填充 primefaces 数据表

java - 正则表达式匹配多行括号中的文本

java - 如何更改 ViewPager android 中单个选项卡的宽度?

java - Eclipse 控制台中出现 "Unable to parse type name from hyperlink"错误

java - Android - .getInputStream() 不断崩溃

eclipse - 有没有办法改变 Eclipse 上链接的颜色?

android-studio - Android Studio 从版本控制 : Google Cloud checkout

android - 使用 github 上托管的个人库作为 gradle 依赖项

android - 在 gradle 中设置自定义库 repo

java - LibGDX 中的参与者太多?