【问题标题】:Eclipse JRE System Library [J2SE-1.5]Eclipse JRE 系统库 [J2SE-1.5]
【发布时间】:2012-04-13 04:24:38
【问题描述】:

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

任何帮助,我该怎么做?

【问题讨论】:

  • 我遇到了类似的问题。无论 JRE 系统库设置为什么,执行 Project>Maven>Update Project... 都会将 JRE 系统库重置为 J2SE-1.5。
  • 老问题,但在 2019 年仍然有用,因为它也发生在当前的 SpringBoot 2 项目中。

标签: java eclipse m2eclipse m2e


【解决方案1】:

问题不在于 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>

【讨论】:

  • Here 是来自 Maven 网站的更多信息
  • 对于拥有多个项目的人来说,这个问题也可能很有趣stackoverflow.com/questions/2531650/…
  • 我把它放在 pom 文件的 中。成功了,谢谢!
  • 我有类似&lt;properties&gt; &lt;project.build.sourceEncoding&gt;UTF-8&lt;/project.build.sourceEncoding&gt; &lt;maven.compiler.source&gt;1.8&lt;/maven.compiler.source&gt; &lt;maven.compiler.target&gt;1.8&lt;/maven.compiler.target&gt; &lt;/properties&gt; 的东西,但我不知道它和你的解决方案有什么区别。
【解决方案2】:

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>

【讨论】:

    【解决方案3】:

    此问题的根本原因是 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>
    

    【讨论】:

    • 很好的答案,谢谢。在我的情况下,这是更好的解决方案:Eclipse 中显示了问题,但控制台中的 Maven 构建工作正常。然后我只需要 m2e 的提示,而不需要额外的插件定义。
    猜你喜欢
    • 2013-06-27
    • 1970-01-01
    • 1970-01-01
    • 2011-10-29
    • 1970-01-01
    • 1970-01-01
    • 2014-01-18
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多