【问题标题】:Can't use Gradle version 7.0.2 with java 11 on visual studio code无法在 Visual Studio 代码上将 Gradle 版本 7.0.2 与 java 11 一起使用
【发布时间】:2021-11-27 12:50:52
【问题描述】:

我在 Visual Studio 代码上使用 Flutter 进行开发。 最近我将gradle升级到7.0.2, 并相应地更改了 build.gradle 文件中的这一部分:

dependencies {
    classpath 'com.android.tools.build:gradle:7.0.2'. <--- here
    classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
    classpath 'com.google.gms:google-services:4.3.5'
    classpath 'com.google.firebase:firebase-crashlytics-gradle:2.5.2'
}

比我运行颤振(颤振运行)并得到这个错误:

所以我将 java 升级到 11 并确保它适用于下一个命令:gradlew --version:

所以假设一切正常,但上述错误仍然显示,即使在重新启动 Visual Studio 代码后 - does 任何人都知道可能丢失或出错的地方吗?

顺便说一句: 还有其他帖子解释了如何使用 android studio 解决此问题,但不适用于 Visual Studio 代码。 谢谢!

【问题讨论】:

  • 不使用Android Studio有什么好处?
  • 我打算这样做,但我也想知道为什么事情不工作以及如何解决它们(:
  • 从命令面板清理 Java 语言服务器工作区。错误会消失吗?

标签: java android flutter gradle visual-studio-code


【解决方案1】:

我认为最合适的解决方案是在 gradle.properties 文件中指定 org.gradle.java.home 变量。这样做:

org.gradle.java.home=Path_to_jdk

确保路径前后不要加引号。

另一种解决方案是,假设其他开发人员在其PATH 或JAVA_HOME 变量中设置了java.exe(注意:JAVA_HOME 指向 JDK 安装目录,而不是 bin 目录),留下gradle.properties 原样。

【讨论】:

  • 这似乎解决了主要问题,但我不想在这个文件中有 java jdk 的硬编码路径,因为每个开发人员可能有不同的路径 - 我该如何整体解决?跨度>
  • 编辑了答案。我认为应该这样做。
  • 当我在 Visual Studio 代码终端中输入 $JAVA_HOME 时,我得到:/Library/Java/JavaVirtualMachines/jdk-11.0.12.jdk/Contents/Home 但没有按照您的建议明确将其添加到 org.gradle.java.home - 它不起作用
  • 您现在不必将其添加到 JAVA_HOME。确保它不指向 bin 目录。您也可以通过将 bin 目录指向 PATH 变量来尝试。
  • 你也可以试试 PATH 变量,你是否从你的 gradle.properties 中删除了 org.gradle.java.home?
【解决方案2】:

在build.gradle,设置

sourceCompatibility = '11'
targetCompatibility = '11'

重建成功后,从命令面板clean java language server workspace 然后重新加载窗口。看看问题是否消失。

【讨论】:

  • 那没用,我也没有找到你在命令面板中提到的命令 - 我使用颤振作为我的工作区。@JustingCoding 上面的回答确实有帮助。我在大声思考-可能是您的解决方案是指编译android应用程序的代码,而我指的是jdk gradle用于构建自身...
猜你喜欢
  • 1970-01-01
  • 2018-03-25
  • 2020-10-09
  • 2019-05-20
  • 1970-01-01
  • 1970-01-01
  • 2010-12-22
  • 2019-05-14
  • 1970-01-01
相关资源
最近更新 更多