43

我正在使用安装了 m2e 插件的 Eclipse EE 3.7。我在eclipse中设置了JDK7。当我导入 maven 项目时,JRE 设置为JRE System Library [J2SE-1.5],所以我遇到了与 java 6 相关的编译问题。相反,我希望 eclipse 中的 JRE 默认设置为 JRESystem Library [J2SE-1.6]

当我尝试在第一个屏幕上的 eclipse File -> new -> Java project 中打开一个新项目时,我可以选择 JRE,第三个选项是Use default JRE (currently 'jdk1.7.0_03')

从这里我可以看到 Eclipse 中的默认 JRE 是 1.7,但是当我导入新的 Maven 项目时,JRE 默认设置为 1.5。

任何帮助,我该怎么做?

4

3 回答 3

83

问题不在于 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>
于 2012-03-29T14:14:25.700 回答
6

艺术布里斯托尔给出了正确的答案(我赞成他)。

那是在 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>
于 2016-02-10T05:10:19.857 回答
2

此问题的根本原因是 Eclipse 在从 pom 更新文件时无法解析 maven.compiler.source 属性的有效值.classpath,它只是使用默认值,即

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>
于 2019-01-30T07:28:58.883 回答