在创建一个新的Maven Project,在更改dynamic web module的版本时一直出现
Cannot change version of project facet Dynamic Web Module to 3.1.
错误提示,提示是需要更新的jdk版本,但在创建后已经更改了Java Compiler的版本,以及libraries中的引入库的版本,仍然无济于事,在看过网上一些出现类似的问题和解决方法后,总算解决了,现在总结一下。
首先,我在Maven的存放路径下的setting.xml中配置了一下jdk的版本,否则创建的maven项目的jdk默认为1.5版本,虽然可以后期修改,这里更改一下可以一劳永逸,我这里配置的是jdk1.8.
<profile>
<id>jdk-1.8</id>
<activation>
<activeByDefault>true</activeByDefault>
<jdk>1.8</jdk>
</activation>
<properties>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
<maven.compiler.compilerVersion>1.8</maven.compiler.compilerVersion>
</properties>
</profile>
这样配置后再创建maven项目就不需要手动更改项目编译版本号。再更改web.xml中的配置文件
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee" 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" metadata-complete="true">
</web-app>
最后打开项目存放文档内,查找org.eclipse.wst.common.project.facet.core.xml这个文件,可以看到
<?xml version="1.0" encoding="UTF-8"?>
<faceted-project>
<fixed facet="wst.jsdt.web"/>
<installed facet="jst.web" version="2.3"/>
<installed facet="wst.jsdt.web" version="1.0"/>
<installed facet="java" version="1.8"/>
</faceted-project>
将其中的2.3更改为3.1保存。进入eclipse中刷新一下项目。