一、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即可。
二、eclipse修改maven默认JRE System Library
在<profiles></profiles>标签里加入如下,然后在eclipse->window->preferences->maven->user settings->user settings,找到刚刚的settings.xml,点击update settings,然后apply and close,右击你的maven项目,maven->update project
<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>