【发布时间】:2011-08-09 20:11:08
【问题描述】:
在 Java Build Path 中编辑 JRE System Library 项目时,我们可以在 Environments 中的项目中进行选择,也可以选择 Alternate JRE(已安装的 JRE)。
就我而言,在已安装的 JRE 中,我有 jdk1.6.0_25 和 jre6。
有什么区别?我应该什么时候参考一个与另一个。
谢谢。
【问题讨论】:
在 Java Build Path 中编辑 JRE System Library 项目时,我们可以在 Environments 中的项目中进行选择,也可以选择 Alternate JRE(已安装的 JRE)。
就我而言,在已安装的 JRE 中,我有 jdk1.6.0_25 和 jre6。
有什么区别?我应该什么时候参考一个与另一个。
谢谢。
【问题讨论】:
JDK是Java Development Kit,JRE是Java Runtime Environment,如果你要写代码,那么你需要JDK 和 JRE 运行它,否则只需 JRE。
【讨论】:
JDK(Java 开发工具包)包含嵌入式 JRE(Java 运行时环境)和开发工具(javac 等)。
JRE 可以运行 java 程序,但缺少用于(轻松)编译和创建 java 程序的工具链。
【讨论】:
有什么区别?
在 Eclipse 中,如果您使用 Eclipse 编译器 (ecj) 编译和构建您的 Java 项目,则没有太大区别。但是,并不是所有的 Eclipse 插件都可以单独在 ecj 上运行。例如,如果您在 Eclipse 中使用 Maven,则需要访问 JDK;在这种情况下,JRE 是不够的。 WTP 也是如此。
此外,JDK 通常与源代码和 Javadocs 一起安装,因此使用 JDK 的自动完成和工具提示文档往往比使用 JRE 更全面。这可以通过添加单独的 Java API 文档 zip/jar 来解决。
我应该什么时候引用一个而不是另一个。
我相信以上几点足以推断出使用 JDK 通常比使用 JRE 更好,除了普通的 Java 项目。
【讨论】:
如果您在谈论 Workspace Preferences->Java->Installed JREs,那么在您的情况下不会有太大区别。
两者都可能指向 Oracle 发布的 1.6 版 Java VM。
这些 JRE 不用于在 Eclipse 中编译您的代码(至少不是直接的,它们在项目构建路径->库选项卡中被指定为依赖项)。相反,它们用于在您运行/调试应用程序时提供执行环境。
如果您需要针对不同供应商提供的 JRE 或 Java 的早期版本测试您的代码,它们就会开始发挥作用。
根据我使用 Eclipse 的经验,您不需要 JDK 来编译和运行程序。
但是,如果您进行命令行构建,最好安装 JDK。
【讨论】: