TrobleShooting
java.lang.IllegalAccessError: class org.gradle.internal.compiler.java.ClassNameCollector (in unnamed module @0x3d2fd4f0) cannot access class cohttp://m.sun.tools.javac.code.Symbol$TypeSymbol (in module jdk.compiler) because module jdk.compiler does not ..
6cess
2024. 2. 8. 00:45
오류 발생 상황
java version을 수정하는 과정에서 flutter build apk 실행 시 발생한 에러
FAILURE: Build failed with an exception.
* What went wrong:
Execution failed for task ':flutter_plugin_android_lifecycle:compileReleaseJavaWithJavac'.
> java.lang.IllegalAccessError: class org.gradle.internal.compiler.java.ClassNameCollector (in unnamed module @0x3d2fd4f0) cannot access class cohttp://m.sun.tools.javac.code.Symbol$TypeSymbol (in module jdk.compiler) because module jdk.compiler does not export cohttp://m.sun.tools.javac.code to unnamed module @0x3d2fd4f0
해결책 1 : 호환되는 java version을 확실하게 찾아 변경
대부분 해결 사례를 보면 적당한 version으로 다운그레이드하면서 해결되었다는 사례가 많았다.
해결책 2 : gradle.properties 파일 수정
/android/gradle.properties 파일 안에 내용 수정
org.gradle.jvmargs=-Xmx1536M
android.useAndroidX=true
android.enableJetifier=true
을
org.gradle.jvmargs=-Xmx1536M --add-exports=java.base/sun.nio.ch=ALL-UNNAMED --add-opens=jdk.compiler/com.sun.tools.javac.code=ALL-UNNAMED --add-opens=java.base/java.lang.reflect=ALL-UNNAMED --add-opens=java.base/java.io=ALL-UNNAMED --add-exports=jdk.unsupported/sun.misc=ALL-UNNAMED
android.useAndroidX=true
android.enableJetifier=true
으로 수정