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

时间:2023-03-09 16:05:37
彻底解决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">