Flutter for Mac 上的 Java 问题

Posted

技术标签:

【中文标题】Flutter for Mac 上的 Java 问题【英文标题】:Issue with Java on Flutter for Mac 【发布时间】:2021-06-27 09:18:32 【问题描述】:

错误信息:

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':app:compileDebugJavaWithJavac'.
> java.lang.IllegalAccessError: class org.gradle.internal.compiler.java.ClassNameCollector (in unnamed module @0x71871a5e) cannot access class com.sun.tools.javac.code.Symbol$TypeSymbol (in module jdk.compiler) because module jdk.compiler does not export com.sun.tools.javac.code to unnamed module @0x71871a5e

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.

* Get more help at https://help.gradle.org

BUILD FAILED in 42s
Exception: Gradle task assembleDebug failed with exit code 1

我刚刚安装了JDK,当我尝试在android端运行时会出现这种情况。

有人可以向我解释这是什么以及如何解决它吗?

一切都是最新版本。

【问题讨论】:

【参考方案1】:

对我来说,原来是 Gradle 的 java 版本兼容性问题。我从 Java SE 16 降级到 Java SE 11 并解决了这个问题。

【讨论】:

谢谢!有什么想法可能导致这种情况吗? 你能解释一下你是如何在 Android Studio 上降级 Java 的吗?【参考方案2】:

这是因为你的$JAVA_HOME 没有设置

.bash_profile中导出JAVA_HOME="/Library/Java/JavaVirtualMachines/jdk1.8.0_65.jdk/Contents/Home"

【讨论】:

终端重启后,我得到这个错误:ERROR: JAVA_HOME is set to an invalid directory: /Library/Java/JavaVirtualMachines/jdk1.8.0_65.jdk/Contents/Home Please set the JAVA_HOME variable in your environment to match the location of your Java installation.@Usama Altaf JAVA_HOME="/Library/Java/JavaVirtualMachines/jdk1.8.0_65.jdk 在这条路径上尝试,但ofcource用你自己的路径替换它 不能解决我的问题 :( 我已经设置了JAVA_HOMEexport JAVA_HOME=$(/usr/libexec/java_home -v 11) 不起作用,JAVA_HOME="/Library/Java/JavaVirtualMachines/jdk-11.0.6.jdk/Contents/Home 也是如此。 如果我通过终端运行flutter run,一切正常。但是如果我通过 VS Code 运行,我会收到此错误。我已经尝试设置“java.home”,但这并没有什么不同。 Java 扩展包也指向正确的路径。 请查看此链接***.com/questions/33404552/…

以上是关于Flutter for Mac 上的 Java 问题的主要内容,如果未能解决你的问题,请参考以下文章

Flutter 中的共享首选项错误 - Mac 上的 iOS

M1 上的 Flutter:GoogleMapsBase 和 Flutter.h 从 Windows 移至 mac 后未发现错误

M1 Mac 上的 Pod 安装错误 - 使用 shared_preferences 等本机代码的 Flutter 项目

如何在 Mac os 上的 Android Studio 中给 Flutter SDK Path

在 Windows/Linux/Mac 上的 Java 程序中对全局热键做出反应?

mac m1上flutter的Java配置问题