Eclipse使用JRE或JDK进行编译

时间:2016-10-10 08:04:18

标签: java eclipse virtual-machine

我脑子里有一个问题,我应该注意到我知道JDK和JRE之间的区别。我不是Java的新程序员。

我想问的是在Eclipse中我可以在窗口中指定编译环境(如果我错了,请更正我)>偏好,但我们也可以为特定项目更改它。

行。我在选项中添加了jre和jdk文件夹。我可以同时使用两者。 但是JRE没有javac(没有java编译器)。那么有些项目是否有可能需要将jre1.7更改为COMPILE? 我得到一些minor.major版本错误并设置JRE解决了我的问题?

这怎么可能?

事实上,现在我意识到了什么。 好的问题稍有改变。 我看到这些是VM而不是编译器。我明白了。

JDK中还有JRE吗?所以,如果我指定JDK1.8,我将jre1.8设置为VM,如果指定JRE1.7,我将jre1.7设置为VM?

是不是?

这令人困惑。为什么JDK里面有JRE?

enter image description here

1 个答案:

答案 0 :(得分:3)

JDK里面有完整的JRE(常规Java VM),以便您可以运行用它开发的内容。

理论上,有人可以使用工具而不使用JRE来制作一些小型JDK,但是对于哪个工具版本运行哪个JVM版本(大多数JDK工具需要运行JVM)会更加混乱。看着你,有多少人只有这个问题?所以它被捆绑在一起,工具和JRE作为一个整体命名为JDK,这要归功于你可以保证那些JRE和工具能够协同工作。

JRE - Java Runtime Environment - 允许您运行java程序

JDK - Java Development Kit - 允许您运行和开发Java程序

JDK = JRE +开发者工具

另请注意,您可以为java编译过程选择两件事:

与源版本的兼容性 - 这基本上是您可以使用的语法。

与VM版本的兼容性 - 这是您可以运行已编译二进制文件的最低VM级别。

您的帖子中的示例:如果您已经编译了Java 8,那么您无法在Java 7上运行它,这是您遇到的次要/主要版本问题。但相反(在Java 8上为Java 7运行的东西)是有效的。

在您的示例 JDK8 JRE7 中,两者都只是功能齐全的VM,但JDK8还有(与JRE相比)其中的开发工具。< / p>