关于Java版本的困惑

时间:2014-04-23 20:09:54

标签: java

所以我试图获得最新版本的Java。我跑的时候:

java -version

我明白了:

java version "1.6.0_65"
Java(TM) SE Runtime Environment (build 1.6.0_65-b14-462-11M4609)
Java HotSpot(TM) 64-Bit Server VM (build 20.65-b04-462, mixed mode)

当我跑步时:

javac -version

我明白了:

javac 1.6.0_65

现在我刚刚下载并安装了JDK 8.当我进入系统偏好设置 - > Java - >更新,我明白了:

Your system has the recommended vesion of Java.

Java 8 Update 05.

我想我有几个问题:

1)我不希望JDK和我的Java版本匹配吗?

2)为什么我的Java控制面板声称我有Java 8,但我在终端的工作(在检查我的Java版本时)却说不是吗?

感谢您的帮助, Mariogs

5 个答案:

答案 0 :(得分:3)

Java平台提供JREJDK,以便用户运行Java程序。 JRE代表Java运行时环境,JDK代表Java Development Kit。

JDK适用于Java开发人员 - 即使用Java构建应用程序/编写程序的人员。它包含Java编码所需的工具,包括编译程序的-javac

JRE适用于普通用户 - 那些只需要在他们的计算机上运行Java程序而对开发不感兴趣的用户。

您的案例中出现差异的原因是因为您正在查看JRE和JDK并尝试比较这两者。您拥有的当前JDK是Java 8,而您当前的JRE是1.6.0_65。您的JRE版本与JDK版本不匹配是有问题的,但如果没有您的PATH变量或有关安装的其他信息,我们无法帮助您修复安装。

答案 1 :(得分:3)

可能"简单"回答是你安装了两个版本的java。在命令行上,您当前使用1.6。因此旧的是活跃的。在系统首选项中,您可以看到java 8的版本。

<强>窗: 您可以将命令行的版本更改为java 8.设置PATH环境变量和JAVA_HOME或通过Windows首选项。我推荐第一个。

Mac: /usr/libexec/java_home是在命令行上切换java版本的起点。查看this post以了解如何在Mac上处理不同的Java版本。恕我直言this answer是一个很好的解决方案。

答案 2 :(得分:2)

1)是的,如果你完全使用JDK,你希望JRE(运行时环境)来自JDK(开发环境)(JDK必然包含JRE)。

2)可能已设置路径变量,以便从Java 6安装中调用Java;您需要找到Java 8安装的等效项并为其设置路径。如果没有有关您的操作系统的信息,我们无法帮助您实现这一目标。

答案 3 :(得分:1)

以下是我们应该知道的事情

  1. 我们的操作系统随附了一组预定义的(内置)工具和实用程序。当我们尝试执行命令时,例如Windows命令行中的cls ,那么它已经存在于系统路径变量中,操作系统将引用相应的cls二进制文件来执行命令。

  2. 但是,当我们安装任何第三方工具/软件时, path 变量不会相应更新。

  3. 例如当我们在您的系统上安装不同版本的Java时,安装将转到不同的目录。例如。 对于JDK:

           ==> C:\Program Files\Java\jdk1.8.0_161
    

对于JRE:  ==> C:\Program Files\Java\jre1.8.0_161

  1. 我们需要更新OS的路径变量以指向适当的目录。如果我们设置JDK的路径,那么它将从JDK bin目录执行二进制文件。

答案 4 :(得分:0)

让我看看能不能为你清理它。

1)是的,可以说你几乎都希望这是真的。

2)这可能是一些事情,但很可能是之前的滴注未被正确删除。所以一个人被召唤而不是另一个人。