【发布时间】:2012-11-18 02:29:39
【问题描述】:
我有两个 JDK,分别用于 Java 6 和 7。
我想使用两者来构建我的项目。最初我们只针对 1.6 构建。 我在我的项目设置中看到我可以选择 1.5、1.6 1.7 作为编译器级别。
这些选项是如何添加到 IDE 中的?我从未安装过 Java 1.5。 假设我想要 Java 1.4。我怎样才能让它出现在列表中?我在我的 IDE 首选项中添加了两个不同的 JRE,但这些不是出现在下拉列表中的内容。
【问题讨论】:
我有两个 JDK,分别用于 Java 6 和 7。
我想使用两者来构建我的项目。最初我们只针对 1.6 构建。 我在我的项目设置中看到我可以选择 1.5、1.6 1.7 作为编译器级别。
这些选项是如何添加到 IDE 中的?我从未安装过 Java 1.5。 假设我想要 Java 1.4。我怎样才能让它出现在列表中?我在我的 IDE 首选项中添加了两个不同的 JRE,但这些不是出现在下拉列表中的内容。
【问题讨论】:
您管理Window -> Preferences -> Java -> Installed JRE's tab 中的可用编译器列表。
在项目构建路径配置对话框中,在库选项卡下,您可以删除JRE System Library 的条目,单击Add Library 并选择已安装的JRE 进行编译。某些编译器可以配置为在后级编译器版本上进行编译。我认为这就是您看到附加版本选项的原因。
【讨论】:
如 MayoMan 所述,可能需要一些额外的步骤才能正确设置项目和默认工作区 JRE。以下是 Eclipse Luna 中的完整序列:
容易……不。
【讨论】:
要告诉 eclipse 使用 JDK,您必须按照以下步骤操作。
完成以上步骤后,就大功告成了,eclipse会开始使用选中的JDK进行编译。
【讨论】:
Eclipse 的编译器可以确保您的 java 源代码符合给定的 JDK 版本,即使您没有安装该版本。此功能对于确保代码的向后兼容性很有用。
您的代码仍将由您选择的 JDK 编译和运行。
【讨论】:
配置 JDK
Maven
但如果您使用的是 maven,前提是您拥有最新的 JRE(Windows/Preferences/Installed JRE)——例如 JDK 1.8
可以通过配置maven-compiler-plugin源和目标属性来选择级别1.6、1.7、1.8,像这样
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.3</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
理想情况下,如果您有一个父 pom,您可以在一个地方为父 pom 中的所有模块(Eclipse 项目)执行此操作。
来源和目标 如果我们想使用 Java 8 语言特性,-source 应该设置为 1.8。此外,要使编译的类与 JVM 1.8 兼容,–target 值应为 1.8。
一次更新多个项目中损坏的 JRE 库(使用 Maven)
与其一一更新 JRE 库,不如让 Maven 为你做。
选择项目并右键单击Maven -> Update Project,将系统库设置为已安装JDK的路径,以防路径损坏(因为您安装了新的JDK或从另一台计算机导入等.) 并根据 pom 中的 maven 源和目标设置设置 JDK 合规性。
【讨论】:
JDK 1.8 有一些更丰富的功能,很多 Eclipse 都不支持。
如果您在 java 编译器中没有找到 1.8 的 java 合规级别,请继续安装以下 eclipse 32 位或 64 位,具体取决于您的系统支持。
尝试运行一个支持 java 8 的 java 程序,比如 lambda 如下表达式,如果没有编译错误,则表示您的日食 支持到 java 1.8,类似这样:
interface testI{
void show();
}
/*class A implements testI{
public void show(){
System.out.println("Hello");
}
}*/
public class LambdaDemo1 {
public static void main(String[] args) {
testI test ;
/*test= new A();
test.show();*/
test = () ->System.out.println("Hello,how are you?"); //lambda
test.show();
}
}
【讨论】: