在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。