cannot access class com.sun.tools.javac.main.JavaCompiler

 人参与 | 时间:2025-06-24 12:55:56

困扰几天的问题。
执行./gradlew 以下错误发生在assembledevdebug中。

java.lang.IllegalAccessError: superclass access check failed: class org.jetbrains.kotlin.kapt3.base.javac.KaptJavaCompiler (in unnamed module @0xb1e59) cannot access class com.sun.tools.javac.main.JavaCompiler (in module jdk.compiler) because module jdk.compiler does not export com.sun.tools.javac.main to unnamed module @0xb1e59        at java.base/java.lang.ClassLoader.defineclass1(Native Method)        at java.base/java.lang.ClassLoader.defineClass(ClassLoader.java:1027)        at java.base/java.security.SecureClassLoader.defineClass(SecureClassLoader.java:150)        at java.base/java.net.URLClassLoader.defineClass(URLClassLoader.java:524)        at java.base/java.net.URLClassLoader$1.run(URLClassLoader.java:427)        at java.base/java.net.URLClassLoader$1.run(URLClassLoader.java:421)        at java.。

网上说的方法都试过了 还没有解决。
网上说的方法都试过了 没有解决办法。

尝试Android 在studio中修改jdk版本,kotlin版 gradle版本还没有解决。

java输入终端 —version发现jdk版本是22, AS中指定gradle的jdk版本是11 两个版本不一致。

原因是在//Users/username/Library/Java在JavavirtualMachines目录下,我下载了多个版本的jdk,第一个是jak22。
解决方案:
删除其他版本 只留下jdk11。
输入open -e .bash打开profile打开profile.bash_profile文件。
将JAVA_HOME路径改为内部。
JAVA_HOME=/Users/username/Library/Java/JavaVirtualMachines/corretto-11.0.23/Contents/Home。

重新运行。 顶: 19731踩: 28398