2016-02-26 58 views
1

的Java代码,我很惊讶有多难操作的Eclipse - 几乎所有的东西我尝试做与SE问题结束。设置Eclipse的STS使用Java 8编译我的项目

我有一个新的项目,该项目由约两个文件和一些外部库。此项目可以通过命令行脚本手动编译:

rem List all java files in jar/ directory to text file 
dir /s /B jar\*.java > sources.txt 
rem make javac compile those files and put the .class files in bin directory 
javac -cp %PZCLASSPATH% -d bin @sources.txt 

我使用java 8 JDK编译项目。我甚至都没有梦想过构建Eclipse的过程(或者完全按照相同的方式构建),但至少我想让它使用Java 8进行代码验证,以避免代码与旧Java版本不兼容的错误:

image description

我看着项目属性,并试图找到的东西设置:

image description

正如你所看到的,Java的8还挺在菜单中丢失。在NetBeans中,我记得只是将JDK更改为所需的版本。可能比硬编码菜单更好的方法。

而且菜单甚至不似乎有太大的影响,因为我看到The import java.util.Arrays cannot be resolved错误import java.util.Arrays;命令:

image description

,所以它不是用连Java 7的现在。请注意,其他项目在IDE中正常工作,但这是手工制作的,因此存在问题。

是否有配置它的另一种方式?

+0

它看起来像你正在使用旧版本的STS。最新版本的STS已经支持Java8编译器设置很长一段时间 - 独立于您正在运行IDE本身的JDK。 –

回答

1

你需要做的第一件事是确保您的工作空间访问一个Java JRE 8。

进入 “窗口>>首选项”。然后在搜索框中输入“JRE”。选择“已安装的JRE”。如果没有Java 8在那里。加一个。现在

enter image description here

是Eclipse有可用的就可以开始在项目中使用它JRE。您可以通过在相同的“Installed JRE”前缀对话框中单击前面的复选框来将Java 8设置为“默认JRE”,或者将其选为特定项目(这实际上是使其成为默认值的最佳选择)保证一个项目将使用它,因为它只有一个'默认'使用,除非项目具体设置它)。

右键单击项目并进入“属性>>的Java的Buildpath”。

检查“库”选项卡是否显示用于Java 8的“JRE系统库”。如果显示错误的JRE,请将其删除并添加一个新的JRE系统库,确保选择一个带有您想要的正确“执行环境”使用方法:

enter image description here

通常这应该是足够了。编译器目标/源级别通常会自动遵循JRE版本。虽然...它实际上可以覆盖它。这是因为JDK 8向后兼容,并且能够编译并运行到Java 7,6等。因此,编译器源和目标级别可以独立配置。

所以......最好检查一下,确保你没有意外覆盖编译器设置。你已经有了该设置的截图,所以我假设你知道在哪里找到它(项目>>属性>> Java >>编译器)。然而,与对您的截图,我建议你不要设置专门,而是选择选项,使其遵循选定的JRE:

enter image description here

最后请注意:手动配置这确实是一个有点痛苦。但是人们通常不这么做。例如,如果您使用maven,那么假设您的pom文件指定了如何编译代码以及它需要什么JRE的所有细节,那么像M2E这样的工具将为您配置Eclipse,剩下的工作就是这是我的指示的第一步,以确保所需的JRE可供使用。 M2E将自动处理所有其他步骤)。

相关问题