首先先看一下錯誤信息:html
Dynamic Web Module 3.0 requires Java 1.6 or newer. Java compiler level does not match the version of the installed Java project facet. One or more constraints have not been satisfied.
錯誤信息圖片:web
可是 Eclipse 明明已經將編譯級別設置爲 1.7:apache
這是因爲你的 Maven 編譯級別是 jdk1.5 或如下,而你導入了 jdk1.6 以上的依賴包:查看 Eclipse 的 Navigator 視圖下該項目的 .classpath 文件:less
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.5"> <attributes> <attribute name="maven.pomderived" value="true"/> </attributes> </classpathentry>
解決辦法:
使用 maven-compiler-plugin 將 maven 編譯級別改成 jdk1.8 :eclipse
<build> <plugins> .... <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>3.1</version> <configuration> <source>1.8</source> <target>1.8</target> <encoding>UTF-8</encoding> </configuration> </plugin> .... </plugins> </build>
搞完以後記得刷新一下項目Update Project...maven
後記:ui
我當時錯誤緣由是由於馬虎,把<plugin></plugin>標籤寫到了<plugins></plugins>的外面了。spa
而後pom.xml又沒有報錯。可是項目一直報這個錯。debug