para - NoClassDefFoundError después de la actualización IntelliJ IDEA
intellij idea para linux (2)
Es un problema conocido en IntelliJ IDEA que es específico de Gradle 3.4 y versiones posteriores:
- IDEA-167412 Gradle 3.4-rc-1 cambia las dependencias de compilación a las proporcionadas
- informe de error original en el proyecto Gradle con más detalles
- comentario del desarrollador responsable con respecto a la opción "Crear módulo por conjunto fuente" y cómo funciona la integración de Gradle en IntelliJ IDEA
Ya está arreglado en IntelliJ IDEA 2017.1 y 2016.3.6 .
También puede usar Gradle 3.3 o anterior como solución alternativa si no puede o no desea actualizar IntelliJ IDEA.
Recientemente creé un nuevo proyecto usando IntelliJ IDEA y Gradle para la gestión de dependencias. Después de resolver todas las dependencias que necesita el proyecto y ejecutarlo, aparece el siguiente error:
java.lang.NoClassDefFoundError: org/springframework/boot/SpringApplication
at com.some.fancy.name.Application.main(Application.java:13)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at com.intellij.rt.execution.application.AppMain.main(AppMain.java:147)
Caused by: java.lang.ClassNotFoundException: org.springframework.boot.SpringApplication
at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
... 6 more
El problema ocurre solo con las clases de las dependencias resueltas (lo probé también con un programa
main
simple usando
Cache
de Guava).
La clase que causa el error es la siguiente:
@SpringBootApplication
public class Application {
public static void main(String... args) {
SpringApplication.run(Application.class, args);
}
}
Todos los campos se muestran con el color correcto (las anotaciones son amarillas, nada es rojo), IntelliJ tiene todas las dependencias resueltas en el directorio de
External Libraries
.
Estoy usando la flecha verde "ejecutar" para comenzar el proyecto.
Al usar gradle desde la línea de comandos, crear un tarro gordo y luego todo funciona bien. Ya probé "Invalidar cachés / reiniciar", saqué el proyecto varias veces del repositorio, borré los cachés de Gradle, eliminé todas las dependencias a mano, intenté ejecutarlo usando Community Edition, Ultimate Edition, ejecutando proyectos más antiguos que ya funcionaban Hace algún tiempo (y no funciona ahora).
¿Podría estar relacionado de alguna manera con la actualización de IntelliJ IDEA a 2016.3.4, compilación 163.12024.16?
Establecer la versión de Gradle a 3.3 corrigió este problema.