Error:JDK1.8 Cannot change version of project facet Dynamic Web Module to 3.1.

本文介绍了解决Eclipse中项目动态Web模块版本无法更改为3.1的具体步骤,包括修改web.xml文件、调整Eclipse配置、设置项目属性及更新pom.xml等方法。

问题:

Error:JDK1.8 Cannot change version of project facet Dynamic Web Module to 3.1.

解决设置1:设置\src\main\webapp\WEB-INF\web.xml
(替换web.xml中的内容)

<?xml version="1.0" encoding="UTF-8"?>  
<web-app 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" xmlns="http://xmlns.jcp.org/xml/ns/javaee">  

解决设置2:eclipse的workspace下,\workspace\mybatis.settings\org.eclipse.jdt.core.prefs
(主要是jdk1.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:eclipse的workspace下,\workspace\mybatis.settings\org.eclipse.wst.common.component
(主要是设置project-version的版本)

<project-modules id="moduleCoreId" project-version="1.5.0">  
    <wb-module deploy-name="mybatis">  
        <wb-resource deploy-path="/" source-path="/target/m2e-wtp/web-resources"/>  
        <wb-resource deploy-path="/" source-path="/src/main/webapp" tag="defaultRootSource"/>  
        <wb-resource deploy-path="/WEB-INF/classes" source-path="/src/main/java"/>  
        <wb-resource deploy-path="/WEB-INF/classes" source-path="/src/main/resources"/>  
        <wb-resource deploy-path="/WEB-INF/classes" source-path="/src/test/java"/>  
        <property name="context-root" value="mybatis"/>  
        <property name="java-output-path" value="/mybatis/target/classes"/>  
    </wb-module>  
</project-modules>  

解决设置4:eclipse的workspace下,\workspace\mybatis.settings\org.eclipse.wst.common.project.facet.core.xml
(主要是jdk版本和jst.web的版本)

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

解决操作5:eclipse菜单,Project下clean…, 项目右键后 refresh
解决操作6:项目右键,properties:java build path:jdk SE -> jdk workspace default JRE设置本机的设有环境变量的JDK

解决操作7:项目右键,properties:选择Project Facets java -> 1.8 和选择Dynamic Web Module ->3.1

解决设置8[可选]:设置 pom.xml
(主要是servlet的引用,maven-compiler-plugin的版本设置)

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  
  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">  
  <modelVersion>4.0.0</modelVersion>  
  <groupId>demo.mybatis</groupId>  
  <artifactId>mybatis</artifactId>  
  <packaging>war</packaging>  
  <version>0.0.1-SNAPSHOT</version>  
  <name>mybatis Maven Webapp</name>  
  <url>http://maven.apache.org</url>  
  <dependencies>  
    <dependency>  
      <groupId>junit</groupId>  
      <artifactId>junit</artifactId>  
      <version>3.8.1</version>  
      <scope>test</scope>  
    </dependency>  
    <dependency>  
    <groupId>javax.servlet</groupId>  
    <artifactId>javax.servlet-api</artifactId>  
    <version>3.1.0</version>  
    <scope>provided</scope>  
    </dependency>  
  </dependencies>  
  <build>  
    <finalName>mybatis</finalName>  
    <plugins>  
    <plugin>  
        <groupId>org.apache.maven.plugins</groupId>  
        <artifactId>maven-compiler-plugin</artifactId>  
        <version>3.1</version>  
        <configuration>  
            <source>1.8</source>  
            <target>1.8</target>  
        </configuration>  
    </plugin>  
    </plugins>  
  </build>  
</project>  

原文参见:http://blog.youkuaiyun.com/tearon/article/details/77322635

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值