在Eclipse Maven项目中更改动态Web模块版本
我正在尝试设置Dynamic Web Module 3.0以支持Java 6开发。 每当我做Maven > Update Project
时,我在Eclipse的Problems选项卡中都会收到此错误。
Dynamic Web Module 3.1 requires Java 1.7 or newer.
好像什么都没有出错,但我必须错过一些东西,因为我一直都会收到这个错误。
以下是我的.settings / org.eclipse.wst.common.project.facet.core.xml的内容
在eclipse中,我的Java编译器正确地设置为1.6。 在Project Facets选项卡中,Dynamic Web Module被正确指定为版本3.0,而Java在Project Facets下也显示为1.6。
在我的pom.xml文件中,我还相应地设置了Java版本:
org.apache.maven.plugins maven-compiler-plugin 3.1 1.6 1.6
作为旁注,我还应该提到我正在使用WebApplicationInitializer
进行纯Java构建,并且没有web.xml文件。
当我试图压制这个看似无关的错误消息时,非常感谢任何帮助。
编辑:添加了pom.xml内容
4.0.0 net.XXXXX XXXXX 1.0-SNAPSHOT XXXXX war http://maven.apache.org XXXXX org.apache.maven.plugins maven-compiler-plugin 3.1 1.6 1.6 org.apache.maven.plugins maven-war-plugin false junit junit 4.11 test org.springframework spring-core 4.0.2.RELEASE org.springframework spring-webmvc 4.0.2.RELEASE org.springframework spring-context 4.0.2.RELEASE commons-logging commons-logging org.springframework.security spring-security-core 3.2.1.RELEASE org.springframework.security spring-security-config 3.2.1.RELEASE org.springframework.security spring-security-web 3.2.1.RELEASE org.slf4j jcl-over-slf4j 1.7.6 org.slf4j slf4j-api 1.7.6 org.slf4j slf4j-log4j12 1.7.6 log4j log4j 1.2.17 javax.servlet javax.servlet-api 3.1.0 provided cglib cglib-nodep 3.1 org.springframework spring-orm 4.0.2.RELEASE org.hibernate hibernate-core 4.3.4.Final org.hibernate hibernate-entitymanager 4.3.4.Final commons-dbcp commons-dbcp 20030825.184428 mysql mysql-connector-java 5.1.29 jstl jstl 1.2
在我们的项目中,我们添加更改web.xml
根元素的声明,从以下更改:
至:
可能Eclipse期望它满足不同的Servlet版本规范。 在我们的例子中,我们既没有编译也没有运行时问题。
编辑:在你的情况下,你没有使用web.xml文件,有以下pom的依赖,这可能会混淆Eclipse的maven插件:
javax.servlet javax.servlet-api 3.1.0 provided
将其更改为“3.0.1”。 (事实certificate, WebApplicationInitializer需要“ Servlet 3.0+环境 ”而不是3.1+)
你可以将它添加到pom.xml:
org.apache.maven.plugins maven-compiler-plugin 3.1 1.7 1.7
适用于Spring STS 3.6.3 🙂
编辑:
来源: http : //crunchify.com/how-to-solve-dynamic-web-module-3-1-requires-java-1-7-or-newer-in-eclipse/
尝试将JRE / JDK版本更改为1.7。 Web项目模块不支持1.6。