我已将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 {
当我启动服务器时,它会抛出以下错误。根据依赖关系,它应该照顾依赖的jar,如spring-boot
感谢任何帮助。
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)
答案 0 :(得分:1)
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
。
答案 1 :(得分:0)
问题在于Spring版本。
由于春季启动版本1.5.4和1.5.2在其中一个子项目中混淆了。问题9543是为它创建的。
从POM文件中删除spring-web依赖项,并将spring-boot-starter-web放入POM中。