今天统一Maven项目配置环境的版本,发现Maven默认是2.5,但是现在基本上都用的tomcat7以上的服务器了。

所以动态网页基本上都用的3.0版本,结果发现facets设置里换不了版本…

参考:http://blog.sina.com.cn/s/blog_529aacbd01014cc8.html

一、问题场景

tomcat运行时报出Cannot change version of project facet Dynamic web的错误。

二、尝试解决

是facets配置的问题。

大致是因为java的web系统有多种类型,比如静态的和动态的,然后动态的java web project要设置dynamic web module,也就是动态网页模型,必须要和对应的服务器搭配好了才能运行项目。

因为我的项目配置对不上,所以就报错了。

  1. dynamic web module 2.4 对应 Tomcat 5.5。
  2. dynamic web module 2.5 对应 Tomcat 6.0。
  3. dynamic web module 3.0 对应 Tomcat 7.0。

右键项目尝试修改,发现无法选择dynamic web module 3.0。

既然右键配置里面换不了,不如直接更改配置文件?

  1. 右键项目在系统资源管理器里面打开。
  2. 找到.settings文件夹,进入。
  3. 修改配置文件org.eclipse.wst.common.project.facet.core.xml。

原文件:

改成:

保存,F5刷新你的项目,重新再facets里查看,发现已经改成3.0了。

修改完成,记忆一下。

三、总结

如果facets版本不正确,tomcat运行时会爆Cannot change version of project facet Dynamic web的错误,此时只要修改dynamic web module版本即可。

发表评论

电子邮件地址不会被公开。 必填项已用*标注