为什么eclipse不会将编译器切换到Java 8?
我在eclipse中检查了一个来自SVN的Java项目,并意识到它需要Java 8,因为它使用了lambdas等。我为Java 8安装了eclipse插件并重新启动了eclipse,并且项目设置如下:
我注意到在底部附近,它表示默认的编译器合规性是1.7,所以我进入org.eclipse.jdt.core.prefs
并将编译器合规性变量设置为1.8
,根据这个答案 。 但是,在Project – > Preferences – > Java Compiler中,它仍显示为:
我在Project – > Java Build Path中设置了JRE:
然而编译器拒绝编译lambda表达式 – 我得到的错误看起来就像我继续将其输入到Java 7中所得到的错误。
这是我正在使用的eclipse版本
Version: Kepler Service Release 1 Build id: 20130919-0819
解决这个问题的唯一方法是安装新版本的Eclipse还是我在配置中遗漏了什么?
两件事情:
首先,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
它导致eclipse kepler SR1不支持lambda表达式等新的Java™8语言增强function。
从这里的信息: http : //www.eclipse.org/downloads/java8/
我认为您应该将kepler SR2与支持插件一起使用,或者更改为Eclipse Luna。
更新链接16/09/2016: https : //wiki.eclipse.org/JDT/Eclipse_Java_8_Support_For_Kepler
我有同样的问题,即使我有:
-
新下载的JDK 1.8.0
-
JAVA_HOME已设置
-
java -version在命令行上报告1.8
-
控制面板中的Java设置为1.8
-
下载了Eclipse Mars
Eclipse只允许我在编译器首选项中选择编译器合规性级别op到1.7,即使我安装的JRE是1.8.0。 在安装的JRE下面的执行环境中,我也看不到1.8,只有JavaSE-1.7(我甚至没有安装!)。 当我点击它时,它显示“jdk1.8.0”作为兼容的JRE,所以我选择了它,但仍然没有变化。
然后我将Eclipse Mars解压缩到一个全新的目录,创建了一个新项目,现在我可以选择1.8,欢呼! 这大大减少了我在Java 1.8下编译代码时遇到的“重复方法命名为spliterator …”错误,但仍有一个错误:
带有参数()和()的名为spliterator的重复默认方法inheritance自List和Set类型。
但是,这可能是因为我正在扩展AbstractList并实现Set,所以我现在通过删除实现Set来修复它,因为它在我的情况下并没有真正添加任何东西(除了表示我的集合只有唯一元素)
首先你应该得到JdK 8。
如果你安装了Jdk。
您应该使用cmd提示符或系统变量设置其路径。
有时可能会发生路径未设置,因为eclipse无法获取jdk的属性。
安装最新的ecipse luna可以解决您的问题。
我有靛蓝和月神。 我可以在luna中设置1.8,在indigo中设置1.7。 Eclipse月神
你可以查看eclipse网站。 它说,日食月神肯定会将jdk 8的属性联系起来。
您必须安装JDT / Eclipse Java 8 Support for Kepler。 https://wiki.eclipse.org/JDT/Eclipse_Java_8_Support_For_Kepler
我遇到了与eclipse kepler类似的问题。我已按照这些步骤来解决它
- 转到Eclipse和Oper Eclipse Market Place选项中的Help。
- 搜索kepler的jdk 1.8
- 安装所需的插件。
- 重启日食。
供参考,请参考此链接http://techno-terminal.blogspot.in/2016/05/jdk-18-compiler-compliance-is-not.html
老问题,但发布答案,这有助于某人。 已经将构建路径配置为使用JDK 1.2.81但是,构建失败并出现以下错误:
lambda expressions are not supported in -source 1.5 [ERROR] (use -source 8 or higher to enable lambda expressions)
在最新的Eclipse(Photon)中,将以下条目添加到pom.xml中。
UTF-8 1.8 1.8
这是一个古老的话题,但我只想指出我已经搜索到足以发现Indigo版本无法更新到SE 1.8这里的链接在eclipse网站上给出以更新执行环境但是如果你尝试它将为Indigo抛出错误。
Image //wiki.eclipse.org/File:ExecutionEnvironmentDescriptionInstallation.png这是给出有关执行环境的信息的链接。
https://wiki.eclipse.org/JDT/Eclipse_Java_8_Support_For_Kepler这显示了更新执行环境的一步一步。
我试图更新执行环境,我得到了同样的错误。
假设您已经下载了Jdk 1.8。 你必须确保你的eclipse版本支持Jdk 1.8。 单击“帮助”选项卡,然后选择“检查更新”。 再试一次。
首先将JDK1.8设置为Path Open Eclipse和Oper Eclipse Market Place选项。 搜索jdk 1.8 for kepler安装所需的插件。 重启日食。 从首选项将编译器级别更改为1.8。 如果仍有错误,请单击该文件并将编译器设置显式更改为Jdk 1.8
- Eclipse e4 RCP:核心表达式 – 更少的XML-hell?
- 查找eclipse项目中的错误数
- Eclipse和外部src和web内容文件夹链接或映射
- 使用应用程序android将图像上传到谷歌云存储
- Caught Throwable或Exception为null
- 如何以Eclipse中的超级用户身份运行我的应用程序?
- 是否有可能从外部闪存驱动器运行java(jdk-windows),Eclipse(indigo)和Android-sdk for Android app开发
- Eclipse – 查找扩展接口的所有类
- Java错误 – net.ucanaccess.jdbc.UcanaccessSQLException:格式错误的字符串:’