springboot 启动异常 javax/servlet/ServletContext Unable to start embedded container; nested exception is
来源:互联网 发布:国家电网考试知乎 编辑:程序博客网 时间:2024/05/18 00:48
场景描述
项目中用到spring boot进行带页面的开发,从github上的simples中下载了对应的spring-boot-sample-web-jsp项目,经简单修改之后死活启动不起来,各种异常。spring-boot以简单容易上手为核心宗旨,可为什么在引入jar时就会出现这么多问题呢?
异常信息
异常一:
2016-06-17 11:04:14.216 ERROR 4684 --- [ main] o.s.boot.SpringApplication : Application startup failedjava.lang.NoClassDefFoundError: javax/servlet/ServletContext at java.lang.Class.getDeclaredMethods0(Native Method) at java.lang.Class.privateGetDeclaredMethods(Class.java:2531) at java.lang.Class.getDeclaredMethods(Class.java:1855)
很显然,这是没有找到ServletContext类导致的,于是乎,异想天开的添加了servlet-api的jar包。
添加之后,出现异常二:
2016-06-17 11:06:13.860 ERROR 224 --- [ main] o.s.boot.SpringApplication : Application startup failedorg.springframework.context.ApplicationContextException: Unable to start embedded container; nested exception is org.springframework.context.ApplicationContextException: Unable to start EmbeddedWebApplicationContext due to missing EmbeddedServletContainerFactory bean.
在网上搜索了各种此异常的解决方案都没有解决成功。
解决方案
在经过多次尝试,几乎要放弃的时候,突然想到一个问题,会不会是因为Intellij集成maven引入jar包时scope设置的问题。
仔细检查pom文件,发现问题可能出现在一下两个地方:
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-tomcat</artifactId> <version>1.2.3.RELEASE</version> <scope>provided</scope> </dependency> <dependency> <groupId>org.apache.tomcat.embed</groupId> <artifactId>tomcat-embed-jasper</artifactId> <version>7.0.68</version> <scope>provided</scope> </dependency>
注释掉两个配置中的
<scope>provided</scope>
问题就这么解决了。
总结
这可能是Intellij的一个bug,在使用spring-boot的时候,如果把某个引入的依赖设置为provided,那么在Intellij启动时就会找不到相应的类。因此,此时需要把此项配置给注释掉,但是打包上线的时候并不需要这些依赖,那么在打包的时候就把注释打开,即可。
已经遇到两次相同的问题,谨记!
转载来自 :
http://blog.csdn.net/wo541075754/article/details/51698552
阅读全文
1 1
- springboot 启动异常 javax/servlet/ServletContext Unable to start embedded container; nested exception is
- SpringBoot启动报错" Unable to start embedded container; nested exception is org.springframework.beans.fa
- Spring Boot常见问题(二)Unable to start embedded container; nested exception is java.lang.NoSuchMethodErro
- org.springframework.context.ApplicationContextException: Unable to start embedded container; nested
- SpringBoot 启动报错:Unable to start embedded
- nested exception is javax.xml.parsers.ParserConfigurationException: Unable to validate using XSD: Yo
- 访问页面异常:nested exception is java.lang.NoClassDefFoundError: javax/servlet/jsp/jstl/core/Config
- 访问页面异常:nested exception is java.lang.NoClassDefFoundError: javax/servlet/jsp/jstl/core/Config
- spring boot 报错 Unable to start embedded container;
- Spring Boot启动报错Unable to start embedded Tomcat
- Spring Boot启动报错Unable to start embedded Tomcat
- Unable to start embedded Tomcat
- nested exception is java.lang.NoClassDefFoundError: javax/servlet/jsp/jstl/core/Config
- 【Debug】Hander processing failed; nested exception is java.lang.NoClassDefFoundError; javax/servlet/j
- nested exception is java.lang.NoClassDefFoundError: javax/servlet/jsp/jstl/core/Config
- 使用json时报错:nested exception is java.lang.NoClassDefFoundError: javax/servlet/jsp/jstl/core/Config
- 发送邮件异常:Mail server connection failed; nested exception is javax.mail.MessagingException: 500 Error:
- 在springboot中配置https安装证书 Unable to Start embedded TomCat
- 第十二章 与Spring集成——《跟我学Shiro》
- html表格单元格宽度的计算规则
- Matconvnet 训练自己的数据(使用现有模型)
- 第十三章 RememberMe——《跟我学Shiro》
- Swift--11类的使用
- springboot 启动异常 javax/servlet/ServletContext Unable to start embedded container; nested exception is
- mysql修改编码
- HTTP中GET和POST的区别
- HDU-1024 Max Sum Plus Plus(DP)
- C++/MFC-对话框
- xmlbeans问题(深刻)
- html、js if判断
- 第十四章 SSL——《跟我学Shiro》
- python中 with...as的用法