Fixing `An exception has occurred in the compiler (1.8.0_242-release)`
Today my Flutter project failed to compile with the following error:
An exception has occurred in the compiler (1.8.0_242-release). Please file a bug against the Java compiler via the Java bug reporting page (http://bugreport.java.com) after checking the Bug Database (http://bugs.java.com) for duplicates. Include your program and the following diagnostic in your report. Thank you.
java.lang.AssertionError: annotationType(): unrecognized Attribute name MODULE (class com.sun.tools.javac.util.UnsharedNameTable$NameImpl)
at com.sun.tools.javac.util.Assert.error(Assert.java:133)
at com.sun.tools.javac.code.TypeAnnotations.annotationType(TypeAnnotations.java:231)
A quick Google search returns those two posts:
- https://stackoverflow.com/questions/70837101/android-studio-an-exception-has-occurred-in-the-compiler-1-8-0-242-release: suggests to update both Flutter and Android Studio.
- https://stackoverflow.com/questions/70816320/an-exception-has-occurred-in-the-compiler-1-8-0-242-release-please-file-a-bug: suggests to check the output of
flutter doctor -v
, then update Android Studio, and finally the gradle files.
So I ran flutter doctor and got this:
Everything looks fine except for some Android toolchain and Xcode issues, which seem inconsequential. Still, I'll update Android Studio as suggested. I opened Android Studio, clicked onto "Check Updates" and clicked on what it suggested to me. Some Android Studio Preview. After installing it, I ran flutter doctor -v
again and got this:
Now it can't even find a bundled Java version...
I tried compiling again, and it gave me the same error, meaning that it's still using OpenJDK version 1.8.0_242-release.
I tried installing Oracle's JDK, but compilation does not use it.
So I went to https://jdk.java.net/18/ to download the latest build of OpenJDK. But the tar file contains just the files, not an installer. I don't want to have to read the docs on how to install it, where to unpack it, what new paths or virtual links to set up.
Another blind try, installing a few more SDK components in Android Studio.
But it did not change a thing. So I uninstalled Android Studio Preview and decided to go for the stable version at https://developer.android.com/studio. And this time it worked!
And it finally compiled my app.