所以我试图获得最新版本的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
答案 0 :(得分:3)
Java平台提供JRE
和JDK
,以便用户运行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)
以下是我们应该知道的事情
我们的操作系统随附了一组预定义的(内置)工具和实用程序。当我们尝试执行命令时,例如Windows命令行中的cls ,那么它已经存在于系统路径变量中,操作系统将引用相应的cls二进制文件来执行命令。
但是,当我们安装任何第三方工具/软件时, path 变量不会相应更新。
例如当我们在您的系统上安装不同版本的Java时,安装将转到不同的目录。例如。 对于JDK:
==> C:\Program Files\Java\jdk1.8.0_161
和对于JRE:
==> C:\Program Files\Java\jre1.8.0_161
答案 4 :(得分:0)
让我看看能不能为你清理它。
1)是的,可以说你几乎都希望这是真的。
2)这可能是一些事情,但很可能是之前的滴注未被正确删除。所以一个人被召唤而不是另一个人。