java.lang.NoClassDefFoundError: org / springframework / core / env / ConfigurableEnvironment

Intento escribir un servicio RESTful simple usando Spring Boot. Sin embargo, hay un mensaje de error que no puedo resolver. He estado investigando y parece que hay un conflicto entre las versiones de SpringBoot, sin embargo, no estoy seguro de cómo puedo deshacerme de él.

Tengo esta SpringBootApp:

import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; /** * REST Service application */ @SpringBootApplication public class Application { public static void main(String[] args) { SpringApplication.run(Application.class, args); } } 

Asociado con este pom.xml:

   4.0.0 com.websystique.springmvc Spring4MVCHelloWorldRestServiceDemo war 1.0.0 Spring4MVCHelloWorldRestServiceDemo Maven Webapp  4.3.0.RELEASE 2.7.5 2.1.9.RELEASE    org.springframework.boot spring-boot-starter-web 1.4.0.RELEASE   org.springframework spring-core ${springframework.version}   org.springframework spring-web ${springframework.version}   org.springframework spring-webmvc ${springframework.version}   junit junit 4.11    javax.servlet javax.servlet-api 3.1.0   com.fasterxml.jackson.core jackson-databind ${jackson.library}   com.fasterxml.jackson.dataformat jackson-dataformat-xml ${jackson.library}   org.springframework.batch spring-batch-core ${spring.batch.version}   org.springframework spring-beans   org.springframework spring-core         org.apache.maven.plugins maven-compiler-plugin 3.2  1.7 1.7    org.apache.maven.plugins maven-war-plugin 2.4  src/main/webapp Spring4MVCHelloWorldRestServiceDemo false     Spring4MVCHelloWorldRestServiceDemo   

Me parece bien, pero estoy obteniendo este error:

 Exception in thread "main" java.lang.NoClassDefFoundError: org/springframework/core/env/ConfigurableEnvironment at com.application.Application.main(Application.java:13) Caused by: java.lang.ClassNotFoundException: org.springframework.core.env.ConfigurableEnvironment 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) ... 1 more 

Enfoque recomendado

  1. Vaya al sitio inicial de Spring boot y seleccione la stack web como una dependencia como se muestra a continuación. figura .
  2. Como Spring Boot usa el concepto de dependencias de Opinionated y lista de materiales , automáticamente extraerá las otras dependencias y resolverá su problema classNotFoundException. Y en su caso se pierde la dependencia Spring-core-4.2.4.RELEASE.jar.
  3. Ejecuta Maven Goal como clean install spring-boot: run -e y puedes encontrar tus dependencias maven en tu IDE y debajo se muestra un archivo POM de muestra.

        4.0.0 com.example demo 0.0.1-SNAPSHOT war demo Demo project for Spring Boot  org.springframework.boot spring-boot-starter-parent 1.4.0.RELEASE     UTF-8 UTF- 8 1.8    org.springframework.boot spring-boot-starter-web   org.springframework.boot spring-boot-starter-tomcat provided   org.springframework.boot spring-boot-starter-actuator   org.springframework.boot spring-boot-starter-test test < /dependency>   demo   org.springframework.boot spring-boot-maven-plugin    

El arranque de spring está en marcha –

 4.3.2.RELEASE 

Por –

   org.springframework.boot spring-boot-starter-web 1.4.0.RELEASE  

Mientras está importando –

  4.3.0.RELEASE 

Puede confirmar en el pom maestro

https://github.com/spring-projects/spring-boot/blob/v1.4.0.RELEASE/spring-boot-dependencies/pom.xml

¿Puedes actualizar la versión de spring en tu pom? O tratar con la gestión de dependencias maven

Borre la carpeta del marco de resorte en el repository, luego presione Alt + F5 y actualice el proyecto (forzar instantánea de actualización).

 C:\Users\xxxx\.m2\repository\org\springframework 

Cambié la configuración boot-starter-parent que era runnig versión 2.0.0 a 1.4.0 y pude ejecutar la aplicación java y me libré de este error

  org.springframework.boot spring-boot-starter-parent 1.4.0.RELEASE     

cambió la versión boot-starter-parent de 1.5.1.RELEASE a 1.4.0.RELEASE.

  org.springframework.boot spring-boot-starter-parent 1.4.2.RELEASE  

Por favor, prueba este para tu padre