有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

关于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版本时)却表明不是这样

谢谢你的帮助, 马里奥格斯


共 (5) 个答案

  1. # 1 楼答案

    我们应该知道这样做的原因

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

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

    3. 当我们在您的系统上安装不同版本的java时,安装会转到不同的目录。例如,Windows的安装目录将是 C:\Program Files\Java\jdk1.8.0_161

    4. 类似地,JREWindows的安装目录将是JDK,Windows的安装目录将是 C:\Program Files\Java\jre1.8.0_161

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

    解决方案

    • 我们需要将JDKJRE版本特定的目录位置更新到PATH环境变量中
  2. # 2 楼答案

    让我看看能不能帮你弄清楚

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

    2)这可能是一些事情,但最有可能的是之前的灌输没有被正确移除。所以一个被呼叫,而不是另一个

  3. # 3 楼答案

    Java平台同时提供了JREJDK,以便用户运行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. # 4 楼答案

    可能“简单”的答案是您安装了两个版本的java。在命令行上,您当前使用的是1.6。因此,旧的是积极的。在系统首选项中,您可以看到Java8的版本

    窗口: 您可以将命令行的版本更改为Java8。设置PATH环境变量和JAVA_HOME或通过windows首选项。我推荐第一种

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

  5. # 5 楼答案

    1)是的,如果您使用JDK,那么您希望JRE(运行时环境)来自JDK(开发环境)(JDK必须包含JRE)

    2)可能设置了path变量,以便从Java 6安装中调用Java;您需要为您的Java8安装找到等价物,并为此设置路径。如果没有关于您的操作系统的信息,我们无法帮助您做到这一点