导入maven项目需要注意的一些问题

导入maven项目需要注意的一些问题

我们再导入一个maven项目的时候,由于servlet版本与jdk、tomcat的兼容的问题,可能会报错,常见的错误有:

"Cannot change version of project facet Dynamic web module to 3.0";
"Tomcat version 7.0 only supports J2EE 1.2, 1.3, 1.4, and Java EE 5 and 6 Web modules";
"Dynamic Web Module 3.1 requires Java 1.7 or newer"

这里的servlet版本需要下面四个地方一致,servlet版本可以根据tomcat版本和jdk版本来选择,只要不冲突就可以,下面给出tomcat官网的介绍链接,自己选择合适的版本:servlet版本选择参考

1.不同版本的servlet的web.xml 头信息

Servlet 2.3


<web-app>
  ...
web-app>


Servlet 2.4

<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xmlns="http://java.sun.com/xml/ns/j2ee"
        xmlns:web="http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"
        xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"
        version="2.4">
  ...
web-app>

Servlet 2.5

<web-app xmlns="http://java.sun.com/xml/ns/javaee"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
        version="2.5">
  ...
web-app>

Servlet 3.0
   
<web-app  
        version="3.0"  
        xmlns="http://java.sun.com/xml/ns/javaee"  
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  
        xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd">  
web-app>

Servlet 3.1
<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>


2.pom.xml里面jdk maven版本设置

		<plugins>
			<plugin>
				<groupId>org.apache.maven.pluginsgroupId>
				<artifactId>maven-compiler-pluginartifactId>
				<version>2.5version>
				<configuration>
					<source>1.6source>
					<target>1.6target>
				configuration>
			plugin>
		plugins>

3.project facets、java compiler、org.eclipse.wst.common.project.facet.core.xml、pom.xml里面 的jdk版本保持一致

4.出现“Tomcat version 7.0 only supports J2EE 1.2, 1.3, 1.4, and Java EE 5 and 6 Web modules”错误

这种情况是servlet的版本太高,tomcat7.0只支持3.0以下的

1.在eclipse的workspace里面找到该项目.settings文件夹

2.编辑org.eclipse.wst.common.project.facet.core.xml文件


<faceted-project>
  <fixed facet="wst.jsdt.web"/>
  <installed facet="wst.jsdt.web" version="1.0"/>
  <installed facet="java" version="1.7"/>
  <installed facet="jst.web" version="2.5"/>
faceted-project>
3.重启eclipse

5.出现“Cannot change version of project facet Dynamic web module to 3.0”错误

需要在配置文件里面改,改完重启eclipse

1.点击项目浏览器右上角三角符号,找到filters..并打开,把.*resources前面的√去掉
2.打开项目里面 .settings/org.eclipse.wst.common.project.facet.core.xml文件
3.编辑org.eclipse.wst.common.project.facet.core.xml文件


<faceted-project>
  <fixed facet="wst.jsdt.web"/>
  <installed facet="wst.jsdt.web" version="1.0"/>
  <installed facet="java" version="1.7"/>
  <installed facet="jst.web" version="2.5"/>
faceted-project>
4.重启eclipse

6.出现“Dynamic Web Module 3.1 requires Java 1.7 or newer”错误

jdk版本太低,换3.1支持的版本即可,具体对照tomcat官网的图片

你可能感兴趣的:(java,maven,eclipse)