spring - 无法启动 Spring Boot 应用程序 NoClassDefFoundError

标签 spring spring-boot spring-boot-starter

我已将 spring-boot-starter-parent 从 1.4.3 更改为 1.5.4

   <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>1.5.4.RELEASE</version>
    </parent>

这是我的java应用程序文件

 @SpringBootApplication
    @ComponentScan("com.test")
    @EnableCaching
    @EnableAsync
    @EnableAspectJAutoProxy
    @EnableAutoConfiguration(exclude = { DataSourceAutoConfiguration.class, WebMvcAutoConfiguration.class })
public class Application {

当我启动服务器时,它抛出以下错误。根据依赖关系,它应该处理像 spring-boot 这样的依赖 jar

感谢任何帮助。

org.springframework.context.ApplicationContextException: Unable to start embedded container; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'tomcatEmbeddedServletContainerFactory' defined in class path resource [org/springframework/boot/autoconfigure/web/EmbeddedServletContainerAutoConfiguration$EmbeddedTomcat.class]: Initialization of bean failed; nested exception is java.lang.NoClassDefFoundError: org/springframework/boot/context/embedded/ErrorPage
    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)
    at org.springframework.boot.context.embedded.EmbeddedServletContainerCustomizerBeanPostProcessor.postProcessBeforeInitialization(EmbeddedServletContainerCustomizerBeanPostProcessor.java:73)
    at org.springframework.boot.context.embedded.EmbeddedServletContainerCustomizerBeanPostProcessor.postProcessBeforeInitialization(EmbeddedServletContainerCustomizerBeanPostProcessor.java:59)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyBeanPostProcessorsBeforeInitialization(AbstractAutowireCapableBeanFactory.java:409)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1581)

最佳答案

customize中的一些代码方法com.xyz.asr.autoconfigure.asr.tomcat.AsrEmbeddedTomcatCustomizer指的是类 org.springframework.boot.context.embedded.ErrorPage 。 Spring Boot 1.5 中不存在该类。 ErrorPage 的正确完全限定名称是 org.springframework.boot.web.servlet.ErrorPage .

AsrEmbeddedTomcatCustomizer需要更新才能使用 org.springframework.boot.web.servlet.ErrorPage .

关于spring - 无法启动 Spring Boot 应用程序 NoClassDefFoundError,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49181176/

相关文章:

java - 模拟子服务的 REST 请求

java - Spring 批处理,记录跳过的记录/行

java - 是否有任何基于 Spring-Security 的 Java 生产就绪安全包?

spring - NoHandlerForCommandException 与 axon-spring-boot-starter

spring - 通过 Spring Boot starter 包含配置文件

java - Spring Batch Processor 未运行 ItemProcessor Listener

spring-boot - 如何管理 Feign 错误?

Spring从另一个变量设置@value

java - 如何对 Spring 存储库进行单元测试

java - 为什么我的 Spring Boot starter 没有将它的依赖项带到项目中?