今天在用Maven->Update Project更新項目後,出現Dynamic Web Module 3.0 requires Java 1.6 or newer錯誤提示,發現項目Java Compiler中的版本回到1.5,如圖所示。在Maven官方文檔找到了原因。Maven 3.0 source和target的默認設置都是1.5,與運行Maven時的JDK版本無關,除非在項目的POM文件中顯示的指定一個版本,否則每次更新後都會使用編譯器默認的source/target版本1.5。
解決方案,在POM中添加source和target編譯版本
<!-- 官方文檔 -->
<!-- http://maven.apache.org/plugins/maven-compiler-plugin/examples/set-compiler-source-and-target.html -->
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.3</version>
<configuration>
<!-- 指定source和target的版本 -->
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
</plugins>
</build>