2016-12-26 60 views

回答

0

行家的编译输出将被JDK7。 您正在寻找的是您在IDE中使用的JRE版本,如在eclipse中的项目属性中配置的那样。您应该下载JDK7并将其设置在Eclipse内的配置中: 首选项 - > Java - >安装JRE

并选择您要使用的Java库。

+0

我有点困惑。所以有两种情况:1)eclipse本身使用的jdk版本2)项目使用的jdk。 '首选项 - > Java - >安装的JRE'用于情况1或2? – lily

+0

第1种情况与您的任何项目无关:) 第2种情况解决了在库视图中查看jre1.8的问题(如截图中所示)。 Eclipse加载jdk1.8,但仍然可以使用它来编译为jdk7字节码。 也明白Maven使用maven编译器插件进行编译,但不能通过拥有自己内部编译器的eclipse(除非你从eclipse本身运行maven build)来进行编译。所以你应该在项目设置中也设置目标JDK。另请参阅此答案http://stackoverflow.com/questions/2540548/how-do-i-get-eclipse-to-use-a-different-compiler-version-for-java – Rohi

1

要澄清Rohi给出了答案 - 在你的pom.xml

JDK 1.7版本只是告诉你希望你的代码和编译的类是与JDK 1.7兼容Maven的编译器。我的意思是,如果你在你的代码中使用了像Lambdas这样的功能,它特定于JDK 1.8或更高版本,它会给你一个编译错误,因为maven编译器认为你正在为JDK 1.7编写代码。

在你的情况下,你的eclipse/project/maven编译器被配置为使用JDK 1.8,你会在库中看到JDK 1.8。虽然,因为您将Maven编译器的合规性设置为JDK 1.7,即使您的库中包含JDK 1.8的功能,也不能使用JDK 1.8的功能。

如果要在库中包含JDK,您应该将默认工作空间JDK更改为1.7。

查看here了解更多详情,并查看here以使用不同的JDK编译您的项目,而无需更改默认工作空间JRE。