Recibo esta excepción java.lang.NoClassDefFoundError: Could not initialize class org.codehaus.groovy.vmplugin.v7.Java7 and java.lang.NoClassDefFoundError: Could not initialize class org.codehaus.groovy.reflection.ReflectionCache
) cuando ejecuto la aplicación de arranque de primavera
Estoy usando las siguientes herramientas
Versión STS 3.9.10
Abrir JDK 14 de 64 bits
Bota de resorte 2.2.5
Funcionó bien con Oracle jdk pero no se ejecuta con openjdk. No estoy usando ninguna biblioteca maravillosa. Este es un proyecto de arranque de primavera basado en maven.
En el archivo android/gradle/wrapper/gradle-wrapper.properties
, asegúrese de que la URL de distributionUrl
sea la siguiente:
distributionUrl=https\://services.gradle.org/distributions/gradle-6.3-bin.zip
Nota: si instaló jdk 14
en mi caso, la versión de JRE utilizada en la configuración de ejecución era diferente a la versión de JDK de destino en pom.xml
Si usa Android Studio 4.0 o superior y tiene errores como los siguientes
Cause: invalid type code: 17 Cause: invalid type code: fe Cause: invalid type code: 13 java.lang.NoClassDefFoundError: Could not initialize class
O
Dice que hay algún problema con JDK, luego siga los pasos a continuación para resolver el error.
Paso 1 : Primero elimine la carpeta .gradle y .idea del directorio del proyecto y reinicie Android Studio. Asegúrate de que haya desaparecido de la papelera de reciclaje.
Paso 2 : Ir a la estructura del proyecto
Paso 3: seleccione la ubicación del SDK en el panel izquierdo de la ventana Estructura del proyecto.
Paso 4: vaya a la ubicación de JDK y haga clic en la flecha hacia abajo, luego seleccione jre en lugar de jdk
C:\Program Files\Android\Android Studio\jre
Y resolverá los errores. Reconstruir el proyecto
Nota: jre viene con la instalación de Android Studio 4, no estoy seguro de la versión anterior.
Esta solución funciona para mí.
Mover a JDK 11, debería funcionar.
En mi caso la combinación fue IntelliJ 2020.2, Kotlin 1.3.72, Maven 3.6.1 y la aplicación SpringBoot 2.2.1. No se usó Gradle en absoluto en el proyecto.
De alguna manera, IntelliJ había cambiado para usar OpenJDK14: al volver a OpenJDK11, todo comenzó a funcionar nuevamente.
Resuelvo este problema cuando integré Facebook 7.19.2 y Google Play Games 0.10.09 .
En mi caso, JDK y SDK usando (y otros en Edit/Preferences/External -> Tools-Android
) rutas predeterminadas Unity:
JDK
C:/ProgramFiles/Unity/Hub/Editor/2019.2.12f1/Editor/Data/PlaybackEngines/AndroidPlayer/Tools\OpenJDK\Windows
SDK
C:/Program Files/Unity/Hub/Editor/2019.2.12f1/Editor/Data/PlaybackEngines/AndroidPlayer\SDK
En Variables Ambientales (Proporciones del Sistema/Avanzado) agregado a continuación:
Buscar (o hacer clic en nueva variable en Variables de usuario)
JAVA_HOME
y agregue la ruta JDK raíz.
JAVA_BIN
y agregue la ruta JDK/bin
JAVA_LIB
y agregue la ruta JDK/lib
Además, agregue estas rutas en Variables del sistema a la variable "Ruta".
No use SDK de Unity predeterminado y JDK de Unity no predeterminado
Luego reinicie Unity (y mejor PC).
Luego, en Editor Unity - Assets/Play -> Service -> Resolve/Android -> Resolver/Force -> Resolve
Todo funciona bien.
Verifique que su proyecto se esté ejecutando con Java 14 aunque esté preparado para Java 8.
Mi IntelliJ Idea estaba dando el mismo error cuando intentaba ejecutar una tarea de Gradle que se ejecutaba perfectamente en la línea de comandos con JDK 8. Sin embargo, el JDK predeterminado del proyecto ItelliJ Idea era 14.
¿Está utilizando alguna biblioteca de terceros que trae dependencias org.codehaus.groovy ? En caso afirmativo, puede intentar reemplazar las dependencias maravillosas requeridas con las versiones más recientes usted mismo.
En mi caso fue org.liquibase:liquibase-groovy-dsl , así que hice esto:
<dependency> <groupId>org.liquibase</groupId> <artifactId>liquibase-groovy-dsl</artifactId> <version>2.1.1</version> <exclusions> <exclusion> <groupId>org.codehaus.groovy</groupId> <artifactId>groovy</artifactId> </exclusion> <exclusion> <groupId>org.codehaus.groovy</groupId> <artifactId>groovy-sql</artifactId> </exclusion> </exclusions> </dependency> <dependency> <groupId>org.codehaus.groovy</groupId> <artifactId>groovy</artifactId> <version>3.0.3</version> </dependency> <dependency> <groupId>org.codehaus.groovy</groupId> <artifactId>groovy-sql</artifactId> <version>3.0.3</version> </dependency>
¿Cómo ejecutas la aplicación? Probablemente se deba a que usa Gradle como sistema de compilación y JDK14, y la versión de Gradle es antigua. Referencia: https://github.com/gradle/gradle/issues/10248
Si usa Gradle Wrapper, consulte $PROJECT_ROOT/gradle/wrapper/gradle-wrapper.properties
. La propiedad distributionUrl
debe ser: distributionUrl=https\://services.gradle.org/distributions/gradle-6.3-bin.zip
Si es una versión anterior, cámbiela, ejecute ./gradlew clean build
y vuelva a intentarlo.
Obtuve el mismo problema en un proyecto Maven & SpringBoot, sin Gradle en absoluto.
La dependencia de org.codehaus.groovy es probablemente transitiva a través de spring-cloud-contract-verifier. Ejecute mvn dependency:tree
para ver todo el árbol de dependencias.
Lo solucioné al actualizar la versión spring-cloud-contract-maven-plugin a 2.2.3-RELEASE
Resolví esto seleccionando la ruta JRE instalada en la ventana => preferencias => java => JRE instalado => eliminar existente y seleccionar del directorio local.
Asegúrese de tener la variable java_home configurada en la variable ambiental
Lo resolví editando el archivo gradle-wrapper.properties dentro de la carpeta gradle . (No .gradle):
Cambiar esta línea, de:
distributionUrl=https\://services.gradle.org/distributions/gradle-6.2-all.zip
para:
distributionUrl=https\://services.gradle.org/distributions/gradle-6.3-all.zip
reconstruir y está bien.
Si está buscando una solución similar a la compartida por @godsim, pero para el complemento gradle liquabase, modifique su sección de configuración en build.gradle para excluir la dependencia maravillosa de liquabase:
configurations { ... liquibaseRuntime.exclude group: "org.codehaus.groovy" }
y luego agregue manualmente Groovy en la sección de dependencias:
dependencies { ... liquibaseRuntime('org.liquibase:liquibase-core:3.8.1') liquibaseRuntime('org.codehaus.groovy:groovy-all:3.0.3') liquibaseRuntime 'org.postgresql:postgresql' liquibaseRuntime('org.liquibase:liquibase-groovy-dsl:2.1.2') liquibaseRuntime('org.liquibase.ext:liquibase-hibernate5:3.10.2') liquibaseRuntime('org.springframework.boot:spring-boot-starter-data-jpa') liquibaseRuntime sourceSets.main.output ... }
Este problema se resolvió para mí solo cuando actualicé compileSdkVersion y targetSdkVersion a 30 con minSdkVersion 19
Estaba recibiendo el error al usar versiones antiguas del spotbugs-maven-plugin
plugin y la dependencia correspondiente spotbugs
maven.
Se solucionó actualizando ambos a 4.2.0
.
Arreglé esto agregando Apache Groovy 2.4.7 en pom.xml
Para usuarios de Maven, siga los pasos a continuación para resolver este problema
<dependency> <groupId>org.codehaus.groovy</groupId> <artifactId>groovy-all</artifactId> <version>3.0.8</version> <type>pom</type> </dependency> <!-- https://mvnrepository.com/artifact/org.codehaus.groovy/groovy --> <dependency> <groupId>org.codehaus.groovy</groupId> <artifactId>groovy</artifactId> <version>3.0.8</version> </dependency> <!-- https://mvnrepository.com/artifact/org.codehaus.groovy/groovy-json --> <dependency> <groupId>org.codehaus.groovy</groupId> <artifactId>groovy-json</artifactId> <version>3.0.8</version> </dependency>
Espero que esto solucione tu problema. Esto funciona para mi. Las instrucciones mencionadas en el paso n.º 1 se copian del sitio oficial de Rest Assured. Gracias