ideallij之Exception in thread "main" java.lang.NoClassDefFoundError: javax/servlet/Filter

spring boot项目在eclipse能够启动,但是当你忍受不了eclipse或sts的慢时,

激情澎湃的将项目用ideallij启动时,有没有遇到这个磨人的小妖精:

Exception in thread "main" java.lang.NoClassDefFoundError: javax/servlet/Filter

......

 

是不是很纳闷,为什么eclipse跑得好好的,挪到ideallij启动就失败了?

从错误我们可以看到缺少Filter类,而Filter类在Servlet-api.jar中,

但是spring-boot项目并没有显示的去引用Servlet-api.jar,

因为用spring-boot时默认集成了tomcat,而在tomcat中默认是有Servlet-api.jar的,

既然没有Servlet-api.jar,网上有人说,显示的在pom.xml中引入Servlet-api.jar,

其实不合逻辑,你想想一个在eclipse能启动的项目,换了个集成工具,

你就要加jar包,是谁给你的胆子,难道就不怕出问题吗?

 

其实出现这个问题的原因就是ideallij配置问题,先上一个图:

File--->Project Structure--->Modules-->Dependencis

有没有发现,这几个含有tomcat字眼的东西,对应的Scope范围是Provided,

表示的是这几个包在开发时使用,但是我们现在要启动项目,当然使用范围就不能是Provided。

聪明的你已经想到了解决办法,就是把Scope范围改为Compile即可。如图:

都选成Compile,然后点击Apply-->OK,然后去启动你的项目,

如果启动了,是不是有一种久违的感觉和想大声的说一声"Fuck"。

 

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值