eclipse 小红叉 并且tomcat启动时报ClassNotFoundException

问题描述:在eclipse项目上出现了一个小红叉,但找遍项目又找不到报错的地方,并且启动tomcat时报错:

ClassNotFoundException: org.springframework.web.servlet.DispatcherServlet

或者:

ClassNotFoundException: org.springframework.web.context.ContextLoaderListener

解决办法:

1、右键项目-->点击“properties”
2、选择“Deployment Assembly
3、点击“add”-->选择“"Java Build Path Entries"
4、点击“next”-->选择“Maven Dependencies”-->点击“Finish”

此时虽然项目上仍然有小红叉,但启动tomcat不再报错,项目正常运行

参考来源:stackoverflow


但是,在通过 maven update之后Deployment Assembly里的Maven dependencies又消失了!

打开菜单栏的window--Show View--Problems,然后在控制台一栏的Problems里查看Errors里问题。
发现错误原因是:Cannot change version of project facet Dynamic Web Module to 3.1.

在项目右键--Properties--Project Facets中,我的Dynamic Web Module是3.1;而在web.xml中,我的version="3.0"。
将web.xml文件头改成:

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee
                      http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
	version="3.1">

然后选择菜单栏的 Project --> Clean 清理对应报错的项目
选择报错的项目,右键 Maven --> Update Project等待操作完成即可

web.xml 3.1和4.0的头文件参考:https://blog.csdn.net/qmdweb/article/details/82773499


如果Problems里的Errors还有其它问,需要注意排查修复后,项目的小红叉才会消失!!!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值