首页 > 代码库 > maven project facet dynamic web module错误解决方案

maven project facet dynamic web module错误解决方案

  在Eclipse中使用maven创建web-app的过程中总会遇到一个问题,cannot change version of project facet dynamic web module to 2.5/3.0,但此时我们打开工程的properties中的Facet选项会发现这个无法更改。

  解决方案:

  1.调整项目的web.xml,将版本号统一修改为2.5/3.0

<?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" xmlns:web="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"
    version="3.0">
......

  2.切换视图为Navigator(Eclipse-Window-showView)

  org.eclipse.jdt.core.prefs中,将jdk版本改为当前系统的jdk版本号

eclipse.preferences.version=1
org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.7
org.eclipse.jdt.core.compiler.compliance=1.7
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.7

  org.eclipse.wst.common.component中,将jdk版本改为当前系统的jdk版本号

<?xml version="1.0" encoding="UTF-8"?><project-modules id="moduleCoreId" project-version="1.7.0">
    <wb-module deploy-name="ChiqAlgTest">
        <wb-resource deploy-path="/" source-path="/target/m2e-wtp/web-resources"/>
......

  org.eclipse.wst.common.project.facet.core.xml中,将jdk和java-web版本修改为系统jdk和2.5/3.0

<?xml version="1.0" encoding="UTF-8"?>
<faceted-project>
  <fixed facet="wst.jsdt.web"/>
  <installed facet="java" version="1.7"/>
  <installed facet="jst.web" version="3.0"/>
  <installed facet="wst.jsdt.web" version="1.0"/>
</faceted-project>

  3.修改完以上参数后,在facet选项中修改Dynamic Web Module为2.5/3.0,update project即可。

maven project facet dynamic web module错误解决方案