java.lang.IllegalAccessError:类 org.gradle.internal.compiler.java.ClassNameCollector 无法访问类 com.sun.tools.javac.code.Symbol$

Ele*_*ian 30 java gradle java-11

我正在尝试使用 Java SE 11 和 Gradle 7.0 构建应用程序,并且它使用 IDE 构建,但是当我尝试使用终端构建它时,我收到此错误。我该如何解决它。

java.lang.IllegalAccessError: class org.gradle.internal.compiler.java.ClassNameCollector (in unnamed module @0x1d7a8227) 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 @0x1d7a8227
Run Code Online (Sandbox Code Playgroud)

Doa*_*Bui 40

我花了3个工作日才找到一个简单的解决方案。前往android/gradle.properties 更改org.gradle.jvmargs=-Xmx1536M

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
Run Code Online (Sandbox Code Playgroud)

  • 它适用于 Flamigo 2022 (2认同)

小智 31

从 open jdk 17 降级到 11 对我有用。


S34*_*34N 17

通过从现有源重新创建项目并将.gradle-wrapper.properties版本更新到 7.3.2解决了这个问题

地点:gradle/wrapper/gradle-wrapper.properties

distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-7.3.2-bin.zip
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
Run Code Online (Sandbox Code Playgroud)


小智 10

我解决了升级 gradle 版本的问题:

./gradlew wrapper --gradle-version 7.5
Run Code Online (Sandbox Code Playgroud)