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

困扰好几天的问题
执行./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打开.bash_profile文件
将里面的JAVA_HOME路径改为
JAVA_HOME=/Users/username/Library/Java/JavaVirtualMachines/corretto-11.0.23/Contents/Home
重新运行

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值