210

在尝试检查我正在运行的 Java 的当前版本时,我收到错误“java 未被识别为内部或外部命令、可运行程序或批处理文件。”。

我正在运行 Windows 7 操作系统并下载了最新的 JDK,我觉得我可能不小心从机器中删除了 java,因为我之前能够使用命令“java -version”检查 Java 版本。

我必须下载什么软件才能让 Java 再次在我的机器上运行?

编辑:

在确保所有环境变量都指向当前的 Java SDK 之后,我设法让 Java 再次从我的 cmd 运行。

4

18 回答 18

246

您需要配置环境变量,JAVA_HOME并且PATH.

JAVA_HOME必须包含 java 的路径,并且应该将%JAVA_HOME%\bin添加到PATH

或者,您可以简单地添加到PATHbin 文件夹的整个路径,而不使用JAVA_HOME变量,但是,当您需要在您的机器上拥有多个 java 版本时,这会有点烦人(这样您只需要更改JAVA_HOME和甚至不打扰PATH

于 2013-04-03T19:59:07.810 回答
181

对于 Windows 7:

  1. 右键单击My Computer

  2. 选择Properties

  3. 选择Advanced System Settings

  4. 选择Advanced选项卡

  5. 选择Environment Variables

  6. Path在下面选择System Variables

  7. 点击Edit按钮

  8. 在变量值编辑器中,将其粘贴到行首

    C:\Program Files\Java\jdk1.7.0_72\bin;
    
  9. 单击确定,然后再次确定

  10. 重新启动命令提示符,否则它不会看到路径变量的更改

  11. java -version在命令提示符下键入。


第 8 步注意事项:

  1. 这里使用的 java 版本可能与这里使用的不同——这只是一个示例。
  2. 路径变量中可能还有其他值。不要删除已经存在的内容,这一点非常重要。这就是为什么说明要在行首粘贴给定值的原因——这意味着您不会删除现有值,只需将 java 放在它之前。如果其他版本的 java 也在路径上,这也解决了您遇到的任何问题。

第 6 步的注意事项:

  1. 这会为计算机设置路径,而不是为单个用户设置路径。可能您正在使用其他开发人员也使用的计算机,在这种情况下,您宁愿设置用户变量,而不是系统变量
于 2014-10-18T09:46:01.847 回答
61

听起来您没有在路径中添加正确的目录。

首先找出您在哪个目录中安装了 Java。例如,在我的盒子上,它位于C:\Program Files\java\jdk1.7.0_111中。找到后,尝试直接运行它。例如:

c:\> "c:\Program Files\java\jdk1.7.0_11\bin\java" -version

一旦您确定了正确的版本,请将bin目录添加到您的PATH环境变量中。

请注意,您不需要JAVA_HOME环境变量,并且已经有一段时间不需要了。一些工具可能会使用它——如果你使用其中之一,那么当然,设置它——但如果你只是使用(比如说)Eclipse 和命令行java/javac工具,没有它你就可以了。


1是的,这提醒了我需要更新...

于 2013-04-03T20:00:42.393 回答
58
于 2015-02-11T09:47:01.920 回答
23

搜索环境变量。 在此处输入图像描述

打开“编辑系统环境变量”。然后点击“环境变量”。 在此处输入图像描述

在“用户变量”下单击“路径”,然后单击“编辑”。 在此处输入图像描述

找到您的 Java 路径并单击“编辑”。 在此处输入图像描述

然后粘贴您的java安装文件夹的路径。大多数情况下,您可以在与此类似的路径上找到它。C:\Program Files\Java\jdk-12.0.2\bin

然后单击确定。现在在开始菜单中,键入 cmd。打开命令提示符。type java -version 如果你做对了,它应该会显示类似这样的内容。 在此处输入图像描述

于 2019-08-03T16:54:35.427 回答
10

对我来说,它在将 ,: 放在系统变量路径的开头之后开始工作:--


在此处输入图像描述

在此处输入图像描述


于 2015-03-30T18:02:05.400 回答
7

我的解决方案是将相同的值(JDK bin 文件夹的路径)放入JAVA_HOMEPath

JAVA_HOME 小路

于 2017-01-24T21:24:40.260 回答
5

就我而言,PATH 已正确设置,但 PATHEXT 已被我错误地使用 .exe 扩展名清除。这就是为什么窗口在命令提示符下找不到 java 或任何 .exe 应用程序的原因。希望它可以帮助某人。

于 2015-01-16T15:01:54.947 回答
5

这个问题出现在 Windows 8 上。首先复制 java jdk 的路径 - 例如 C:\Program Files\Java\jdk1.7.0_51\bin。

  1. 右键桌面上的我的电脑图标,然后单击属性。

  2. 在左侧窗格中选择“高级系统设置”。

  3. 在“高级”选项卡下,选择底部的“环境变量”。

  4. 在系统变量中,选择“路径”变量并进行编辑。

粘贴路径并添加一个';' 最后 - 例如 C:\Program Files\Java\jdk1.7.0_51\bin;

于 2015-08-02T21:15:37.907 回答
2

我有同样的问题。只需在您的计算机上安装确切的 java 位即可。如果您的 PC 是 64 位,则安装 64 位 java。如果是 32 位,则反之亦然 :)

于 2017-03-18T16:07:58.600 回答
2

不知道为什么,但就我而言,原因是因为我运行的是 Anaconda 终端而不是 CMD。

在我使用 CMD 并更新上述所有评论中提到的路径设置后,我这边的问题得到了解决。

于 2018-12-31T19:04:39.563 回答
2

如果您使用的是笔记本电脑并且没有Pause\Break按钮。对于 20h2 及以上版本的 Windows 10 用户:

1 WIN输入“关于您的PC”→底部滚动→高级系统设置→Environment variables WIN+ Rshell:::{bb06c0e4-d293-4f75-8a90-cb05b6477eee}打开经典系统属性→左侧→高级系统设置→Environment variables

也适用于 Windows 10 和 Windows 7:

1 WIN→ 这台电脑 → 属性 → 高级系统设置 →Environment variables

  1. 在系统变量部分点击新建…</li>
  2. 在变量名中写:JAVA_HOME
  3. 在变量值写入:C:\Program Files\Java\jdk-15.0.2\bin,按OK

我已经从Vijay Bhatt采取了步骤 2-4

在 UI 中添加新的系统变量

有一种更快的方法来设置系统变量。以管理员身份运行控制台(终端)。

添加新变量的通用命令 synax:

setx variableName value /M

在我们的示例中,我们需要将其设置为

setx JAVA_HOME "C:\Program Files\Java\jdk-15.0.2\bin" /M`

像这样: 使用管理控制台添加新的系统变量

/M- flag 指定在系统环境中设置变量。执行命令后,您应该会看到以下消息: SUCCESS: Specified value was saved.

如何检查它是否已添加?

  1. 关闭您的活动终端;
  2. 打开你最喜欢的终端;
  3. 键入java -version

您应该会看到与此类似的内容: 结果图片

注意: 用户变量可以在没有 root(管理员权限)的情况下创建,而创建System variable; 您需要以root 身份打开控制台

我曾经C:\Program Files\Java\jdk-15.0.2\bin举过一个例子,在你的情况下,它可能与我的不同。

于 2021-02-11T16:35:27.803 回答
1

我更正了路径变量,但命令提示符需要重新启动,否则将无法验证对路径变量的更改。可能对像我这样的人有帮助。所以“重启命令提示符

于 2019-12-01T11:44:34.873 回答
1

更新环境变量后,我在 Windows 10 中打开了一个新的命令提示符,但没有关闭旧的(为了方便我的命令并且懒得再次输入),新的 cmd 窗口仍然指的是以前版本的 Java。

然后,一旦我关闭了以管理员权限运行的所有 cmd 提示,新的 java 版本就会得到反映。

于 2021-04-24T14:28:37.150 回答
0

如果您在 Windows Box 中安装了 cygwin,或者使用 UNIX Shell,那么

Issue bash#which java

这将告诉您 java 是否在您的类路径中。

于 2013-05-07T06:24:24.750 回答
0

如果您在用户变量下设置了环境变量(JAVA_HOMEPATH),命令提示符(以管理员身份运行)将无法识别 java。为此,您需要在系统变量下设置环境变量。

于 2020-03-06T06:01:14.937 回答
0

试试这个:

系统变量:PATH = /bin 安装的 jdk 文件夹

https://docs.oracle.com/javase/10/install/installation-jdk-and-jre-microsoft-windows-platforms.htm

于 2021-03-17T02:57:06.640 回答
0

对于仍然有问题的人来说,只是一些额外的信息,而不是编辑 java 的路径变量,删除路径的那部分(只有 java !!)并创建一个指向 jdk/jre 的新变量。

这似乎对我有用。

于 2021-04-09T09:13:15.700 回答