我正在使用安装了m2e插件的Eclipse EE 3.7。我在Eclipse中设置了JDK7。
当我导入maven项目时,JRE设置为JRE System Library [J2SE-1.5]
,所以我有与java 6相关的东西的编译问题。相反,我希望eclipse中的JRE默认设置为JRE System Library [J2SE-1.6]
当我尝试在eclipse文件中打开一个新项目时 - >新的 - >第一个屏幕上的Java项目我可以选择JRE,第三个选项是Use default JRE (currently 'jdk1.7.0_03')
从中我可以看到Eclipse中的默认JRE是1.7,但是当我导入新的Maven项目时,JRE默认设置为1.5。
任何帮助,我该怎么做?
答案 0 :(得分:79)
问题不在于Eclipse,而在于您要导入的项目。 m2e将设置项目的JRE以匹配maven项目。 POM指定JRE版本,如果不存在,则默认为1.5。你需要在POM中使用它:
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.0</version>
<configuration>
<source>1.7</source>
<target>1.7</target>
</configuration>
</plugin>
</plugins>
</build>
答案 1 :(得分:6)
artbristol给出了正确的答案(我赞成他)。
那是在2012年。这是今天更适合的更新(2016年,Java 8,Spring 4.x / Servlet 3.x):
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.0</version>
<configuration>
<source>1.7</source>
<target>1.7</target>
</configuration>
</plugin>
答案 2 :(得分:0)
此问题的根本原因是Eclipse在从pom更新.classpath
文件时无法解析maven.compiler.source属性的有效值,它只是使用默认值,即
org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.5.
只需向您pom.xml
添加以下属性并更新项目:
<properties>
<javaVersion>1.8</javaVersion>
<maven.compiler.source>${java.version}</maven.compiler.source>
<maven.compiler.target>${java.version}</maven.compiler.target>
</properties>