问题描述
最近出于好奇与学习之情,特地花了半天时间巩固已有知识,采用spring+springmvc+mybatis 3大开源框架集成了一个demo ,数据库采用开源免费的msyql
详细搭建步骤此处略去,后面会整理出从0开始搭建一个完成的ssm 的demo。
通过设置完项目的build path,部署路径,编译设置等,项目的左上角一直会出现红色x箭头。
我找遍了所有文件并未发现有编译报错的Java文件和配置文件。虽然这个报错兵不影响项目的运行,但是作为一个转牛角尖的程序员来说,看到项目报错总是会觉得不舒服,我有一个习惯看这任何提示黄色警告的Java代码我也会很不爽,会想一切办法解决编译的警告或者出错。下面介绍下我的解决过程。
原因查找
打开problems 视图界面,这里会显示出所有项目的编译错误,会有提示,比如这里的ssm项目提示Cannot change version of project facet Dynamic Web Module to 2.4
解决方法
知道报错原因了,那自然就可以通过报错信息找到解决方法了。
dynamic web module 版本之间的区别如下
Servlet 3.0 | JavaEE 6, JavaSE 6 | Pluggability, Ease of development, Async Servlet, Security, File Uploading | |
Servlet 2.5 | JavaEE 5, JavaSE 5 | Requires JavaSE 5, supports annotations | |
Servlet 2.4 | J2EE 1.4, J2SE 1.3 | web.xml |
Cannot change version of project facet Dynamic Web Module to 2.4 这个错误是指当前的web.xml 配置的j2ee版本和项目中的project facets 的j2ee版本不一致导致
Web.Xml 中是2.4
Ssm project facets 是2.5
把project facets 中的 改成和web.xml中的一致2.4即可
特殊声明:直接在project facets中修改成2.4 会提示报错,如下所示:
这下怎么办呢,不用急,此路不通,走其他路。
打开导航view,找到org.eclipse.wst.common.project.facet.core.xml,将2.5 改成2.4保存
然后执行项目右键Maven的Update Project...即可。
效果如下图所示: