Estoy tratando de compilar la aplicación con Java SE 11 y Gradle 7.0, y se compila con el IDE; sin embargo, cuando intento compilarla con el terminal, aparece este error. Cómo puedo arreglarlo.
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 @0x1d7a8227Tengo el mismo problema. Cuando estaba ejecutando intellij terminal ./gradlew build war ocurrió esta excepción.
Vi que el problema es la versión terminal de Java. En la terminal es 17 y mi aplicación se ejecuta en 11.
Resuelvo mi problema creando un archivo war por intellij, pero falta alguna configuración de entorno para arreglar en mi terminal.
Encontré el mismo error. Para evitarlo, terminé configurando la variable de entorno JAVA_HOME antes de ejecutar gradle desde la línea de comandos y también la agregué a mi ruta.
export JAVA_HOME=/Library/Java/JavaVirtualMachines/openjdk-11.jdk/Contents/Home export PATH=$JAVA_HOME/bin:$PATHopenjdk-11 funcionó bien para mí, pero desea asegurarse de que su variable de entorno JAVA_HOME apunte a una ubicación real antes de configurarla. Esto puede variar según su sistema operativo.
La degradación de open jdk 17 a 11 funcionó para mí.
Lo resolvió recreando el proyecto a partir de fuentes existentes y actualizando la versión .gradle-wrapper.properties a 7.3.2
Ubicación: 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