彻底解决maven Cannot change version of project facet Dynamic Web Module to 3.0?

这个问题是由于maven默认的jdk和默认的Dynamic Web Module版本问题引起的。

这个问题断断续续解决了复发了,今天找打了一个方法

第一,首先要在maven中配置这个插件

 <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
            <!-- 指定Dynamic Web Module to 3.0 ,web.xml中的版本也可能改-->
                <version>3.0</version>
            <!-- 指定编译版本 -->
                <configuration>
                    <source>1.8</source>
                    <target>1.8</target>
                </configuration>
            </plugin>

这样建好的项目 project facet中的Dynamic Web Module 是3.0的

还有buildpath版本也是1.8的,这里还改成自己的本地jre

web.xml中的

<!DOCTYPE web-app PUBLIC
"-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
"http://java.sun.com/dtd/web-app_2_3.dtd" >

可以改一下,改成3.0的,(从其他地方copy)

如果是已经有的项目报错

maven Cannot change version of project facet Dynamic Web Module to 3.0?

在pom中加入第一步的配置,然后update project

检查project facts

修改web.xml (如果是3.0就不用改)

<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" id="WebApp_ID" version="3.0">

原文地址:https://www.cnblogs.com/rocky-AGE-24/p/6961673.html