为什么eclipse不会将编译器切换到Java 8?

 ScorpIo斡 发布于 2023-01-01 11:45

我在eclipse中检查了一个来自SVN的Java项目,并意识到它需要Java 8,因为它使用了lambdas等.我为Java 8安装了eclipse插件并重新启动了eclipse,并且项目设置如下:

新Java项目

我注意到在底部附近,它表示默认的编译器合规性是1.7,所以我进入org.eclipse.jdt.core.prefs并设置编译器合规性变量1.8,根据 这个答案.但是,在Project - > Preferences - > Java Compiler中,它仍然显示为:

请日食

我在Project - > Java Build Path中设置了JRE:

jre8

然而,编译器拒绝编译lambda表达式 - 我得到的错误看起来就像我继续将其输入到Java 7中所得到的错误.

这是我正在使用的eclipse版本

Version: Kepler Service Release 1
Build id: 20130919-0819

解决此问题的唯一方法是安装新版本的Eclipse还是我在配置中遗漏了一些东西?

2 个回答
  • 它导致eclipse kepler SR1不支持lambda表达式等新的Java™8语言增强功能.

    从这里的信息:http://www.eclipse.org/downloads/java8/
    我认为你应该使用kepler SR2与支持插件,或更改为Eclipse Luna.


    更新链接2016年6月16日:https://wiki.eclipse.org/JDT/Eclipse_Java_8_Support_For_Kepler

    2023-01-01 11:47 回答
  • 两件事情:

    首先,JRE与JDK不同.如果你有JDK,你需要配置eclipse指向你设置中的那个.

    其次,在上面的屏幕截图中,您的编译器合规性级别设置为1.7.这会将您的所有代码视为使用Java 1.7.将其更改为1.8以修复错误.

    您需要拥有Eclipse Luna才能获得对Java 8的支持,但如果需要,可以将其添加到Kepler SR2.在你再继续之前,我会尝试使用Luna和上述建议.请参阅此参考.

    一旦获得Luna,您的JAVA_HOME变量应足以让Eclipse识别JDK 8.如果要指定其他JDK,可以通过以下方式添加新的Java System Library:

    Project -> Properties -> Java Build Path -> Libraries -> Add Library -> Java System Library
    

    并导航到JDK 8的有效位置.

    您可以在此处下载平台的JDK 8

    2023-01-01 11:47 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有