Cannot change version of project facet Dynamic web 3.0的解决方法

转载自:https://www.cnblogs.com/strinkbug/p/4939299.htmlhtml

问题java

 用Eclipse建立Maven结构的web项目的时候选择了Artifact Id为maven-artchetype-webapp,因为这个catalog比较老,用的servlet仍是2.3的,而通常如今都是用3.0,在Project Facets里面修改Dynamic web module为3.0的时候就会出现Cannot change version of project facet Dynamic web module to 3.0web

 

解决这个问题的步骤以下:app

1. 把Servlet改为3.0,打开项目的web.xml
<? xml  version = "1.0"  encoding = "UTF-8" ?>
< web-app  xmlns:xsi = "http://www.w3.org/2001/XMLSchema-instance"
     xmlns = "http://java.sun.com/xml/ns/javaee"
     xsi:schemaLocation = "http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
     id = "schedule-console"  version = "3.0" >

2. 修改项目的设置,在Navigator下打开项目.settings目录下的org.eclipse.jdt.core.prefs
把1.5改为1.8
eclipse.preferences.version=1
org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8
org.eclipse.jdt.core.compiler.compliance=1.8
org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning
org.eclipse.jdt.core.compiler.source=1.8
 
 
3. 打开org.eclipse.wst.common.project.facet.core.xml 
把java改成1.8, 把jst.web改成3.0;
<? xml  version = "1.0"  encoding = "UTF-8" ?>
< faceted-project >
   < fixed  facet = "wst.jsdt.web" />
   < installed  facet = "jst.web"  version = "3.0" />
   < installed  facet = "wst.jsdt.web"  version = "1.0" />
   < installed  facet = "java"  version = "1.8" />
</ faceted-project >

 

最后 update maven就能够了,亲测有效。
相关文章
相关标签/搜索