[英]Eclipse compiling with JRE or JDK
我有一个问题,我应该注意到我知道JDK和JRE之间的区别。 我不是Java的新程序员。
我想问的是在Eclipse中我可以在window> Preferences中指定编译环境(如果我错了,请更正我),但我们也可以为特定项目更改它。
好。 我在选项中添加了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?
JDK里面有完整的JRE(常规Java VM),以便您可以运行您将使用它开发的内容。
从理论上讲,有人可以使用工具而不使用JRE来制作一些小型JDK,但是对于哪个工具版本运行哪个JVM版本(大多数JDK工具需要运行JVM)会更加混乱。 看着你,有多少人只有这个问题? 因此它被捆绑在一起,工具和JRE作为一个整体命名为JDK,这要归功于您可以保证这些JRE和工具将协同工作。
JRE - Java运行时环境 - 允许您运行Java程序
JDK - Java Development Kit - 允许您运行和开发Java程序
JDK = JRE +开发人员的工具
另请注意,您可以为java编译过程选择两件事:
与源版本的兼容性 - 这基本上是您可以使用的语法。
与VM版本的兼容性 - 这是您可以运行已编译二进制文件的最低VM级别。
您的帖子中的示例:如果您已经将某些内容编译为Java 8,则无法在Java 7上运行它,这是您遇到的次要/主要版本问题。 但相反(在Java 8上运行Java 7的东西)是有效的。
在您的示例中, JDK8和JRE7都只是功能完备的VM,但JDK8还有(与JRE相比)其中的开发工具。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.