关于Java版本的困惑
所以我正在尝试获取Java的最新版本。当我跑步时:
java版本
我得到:
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版本
我得到:
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版本时)却表明不是这样
谢谢你的帮助, 马里奥格斯
# 1 楼答案
我们应该知道这样做的原因
我们的操作系统附带了一套预定义的(内置的)工具和实用程序。当我们尝试在Windows命令行中执行命令
e.g. cls
时,它已经存在于系统路径变量中,操作系统将引用cls
的相应二进制文件来执行该命令但是,当我们安装任何第三方工具/软件时,路径变量不会相应更新
当我们在您的系统上安装不同版本的java时,安装会转到不同的目录。例如,Windows的安装目录将是
C:\Program Files\Java\jdk1.8.0_161
类似地,JREWindows的安装目录将是JDK,Windows的安装目录将是
C:\Program Files\Java\jre1.8.0_161
我们需要更新OS的path变量以指向适当的目录。如果我们设置JDK的路径,那么它将从JDK bin目录执行一个二进制文件
解决方案
JDK
或JRE
版本特定的目录位置更新到PATH
环境变量中李># 2 楼答案
让我看看能不能帮你弄清楚
1)是的,可以说你几乎希望这是真的
2)这可能是一些事情,但最有可能的是之前的灌输没有被正确移除。所以一个被呼叫,而不是另一个
# 3 楼答案
Java平台同时提供了
JRE
和JDK
,以便用户运行Java程序。JRE代表Java运行时环境,JDK代表Java开发工具包JDK
是为Java开发人员准备的,也就是那些用Java构建应用程序/编写程序的人。它包含Java编码所需的工具,包括编译程序所需的-javac
JRE
是为普通用户设计的,这些用户只需要在计算机上运行Java程序,对开发不感兴趣在您的案例中出现差异的原因是,您正在查看JRE和JDK,并试图对两者进行比较。当前的JDK是
Java 8
,而当前的JRE是1.6.0_65
。JRE版本与JDK版本不匹配是有问题的,但是如果没有PATH
变量或其他有关安装的信息,我们无法帮助您修复安装# 4 楼答案
可能“简单”的答案是您安装了两个版本的java。在命令行上,您当前使用的是1.6。因此,旧的是积极的。在系统首选项中,您可以看到Java8的版本
窗口: 您可以将命令行的版本更改为Java8。设置PATH环境变量和JAVA_HOME或通过windows首选项。我推荐第一种
Mac:
/usr/libexec/java_home
是在命令行上切换java版本的起点。查看this post了解如何在Mac上处理不同的java版本。IMHOthis answer是一个很好的解决方案# 5 楼答案
1)是的,如果您使用JDK,那么您希望JRE(运行时环境)来自JDK(开发环境)(JDK必须包含JRE)
2)可能设置了path变量,以便从Java 6安装中调用Java;您需要为您的Java8安装找到等价物,并为此设置路径。如果没有关于您的操作系统的信息,我们无法帮助您做到这一点