Spring Boot,IntelliJ IDEA,JSP,启动报错java.lang.NoClassDefFoundError: javax/servlet/ServletContext

  • 问题描述 
    今天试了下Idea这个工具,发现它的编码功能十分强大,在启动Spring Boot项目时,发现报错:
java.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)
 
 
  • 1
  • 2
  • 3
  • 4
  • 1
  • 2
  • 3
  • 4

在之前的项目中,已经知道spring boot要使用jsp,必须在pom文件中添加如下配置(在Eclipse中可以正常启动):

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-tomcat</artifactId>
    <scope>provided</scope><!--由JDK或者容器提供-->
</dependency>
<dependency>
    <groupId>org.apache.tomcat.embed</groupId>
    <artifactId>tomcat-embed-jasper</artifactId>
    <scope>provided</scope>
</dependency>
 
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 解决步骤1 
    百度了下,说是要注释掉provided这一个scope(idea编译启动后找不到被指定为provided这种jar包),也不知道真假,试了下,确实可以启动了。 
    但是在通过Controller访问jsp页面时,页面又错了
Whitelabel Error Page

This application has no explicit mapping for /error, so you are seeing this as a fallback.
Thu Feb 23 16:45:26 CST 2017
There was an unexpected error (type=Not Found, status=404).
/WEB-INF/jsp/0.2/login.jsp
 
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 解决步骤2 
    这里弄了很长时间,才发现是自己傻X了(也因为对idea不熟悉),在配置启动方式的时候,要指定working directory 
    这里写图片描述
    OK,至此解决,这个工具还要 多玩玩才能装起来。。
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值