Eclipse JRE系统库[J2SE-1.5]

时间:2012-03-29 13:53:36

标签: java eclipse m2eclipse m2e

我正在使用安装了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。

任何帮助,我该怎么做?

3 个答案:

答案 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>