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

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

我必须下载什么软件才能让Java在我的机器上重新工作?

编辑:

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


您需要配置环境变量JAVA_HOME和PATH。

JAVA_HOME必须包含java的路径,您应该将%JAVA_HOME%\bin添加到path中

或者,您可以简单地将bin文件夹的整个路径添加到PATH中,而不需要JAVA_HOME变量,但是,当您需要在您的机器上有多个java版本时,这就有点麻烦了(这样您只需要更改JAVA_HOME,甚至不需要更改PATH)


听起来好像您没有将正确的目录添加到路径中。

首先找出您在哪个目录中安装了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工具,不使用它也可以。


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


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

Issue bash#which java

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


Windows 7:

右键单击我的电脑 选择属性 选择高级系统设置 选择Advanced选项卡 选择环境变量 在“系统变量”下选择“路径” 单击Edit按钮 在变量值编辑器中,将此粘贴到行首 C:\Program Files\Java\ jdk1.7.0_72 \ bin。 单击“确定”,然后再次单击“确定” 重新启动命令提示符,否则它不会看到对路径变量的更改 在命令提示符中输入java -version。


第8步注意事项:

这里的java版本可能与这里使用的不同——这只是一个示例。 path变量中可能还有其他值。不要删除已经存在的内容,这一点非常重要。这就是为什么指令说要将给定的值粘贴在行首——这意味着您不删除现有的值,只需在它前面加上java。这还可以修复如果路径上也有其他版本的java时可能遇到的任何问题。

第六步注意事项:

这将为计算机设置路径,而不是为个人用户设置路径。可能您正在其他开发人员也在使用的计算机上工作,在这种情况下,您宁愿设置用户变量,而不是系统变量


在我的情况下,PATH被正确设置,但PATHEXT已被我错误地清除。exe扩展名。这就是为什么窗口不能找到java或任何。exe应用程序从命令提示符。希望它能帮助到一些人。


假设Java/JDK安装在C:\Program Files\ Java:

请遵循以下步骤:

转到控制面板→系统→高级系统设置→高级→环境变量(控制面板中的赢取+系统暂停/中断) 在系统变量部分点击新建… 在“变量名”中输入:JAVA_HOME 在“Variable value write: C:\Program Files\Java\ bin”中,按“OK”。 在“系统变量”部分双击“路径” 按New并写入C:\Program Files\Java\ bin,按OK: 在“环境变量”窗口中按“确定” 重新启动/运行cmd.exe并写入:java——version:


对我来说,它开始工作后,:在系统变量路径的开始:——


Windows 8存在此问题。 首先复制您的java jdk的路径-例如C:\Program Files\Java\ jdk1.7.0_51\bin。

右键单击桌面上的“我的电脑”图标,单击“属性”。 在左侧窗格中选择“高级系统设置”。 在“高级”选项卡下,选择底部的“环境变量”。 在“系统变量”中选择“路径”变量并编辑它。

粘贴路径,并在末尾添加一个';',例如C:\Program Files\Java\ jdk1.7.0_51\bin;


我的解决方案是在JAVA_HOME和path中放置相同的值(JDK bin文件夹的路径)


我也有同样的问题。只要在你的电脑上安装正确的java即可。如果你的电脑是64位的,那么安装64位的java。如果它是32位,那么反之亦然:)


不知道为什么,但在我的情况下,原因是因为我运行蟒蛇终端而不是CMD。

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


查询环境变量。

打开“编辑系统环境变量”。 然后点击“环境变量”。

在“用户变量”下,点击“路径”,然后点击“编辑”。

找到你的Java路径,然后点击“编辑”。

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

单击“确定”。 现在在开始菜单中,键入cmd。 打开命令提示符。 类型 java - version 如果你做对了,它应该是这样的。


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


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


如果您使用的是笔记本电脑,没有暂停\中断按钮。 windows 10 20h2及以上用户:

1 WIN→输入“关于您的PC”→底部滚动→高级系统设置→环境变量或WIN+R→shell:::{bb06c0e4-d293-4f75-8a90-cb05b6477eee}打开左边的经典系统属性→高级系统设置→环境变量

Windows 10和Windows 7也适用:

1 WIN→本机→属性→高级系统设置→环境变量

在系统变量部分点击新建… 在“变量名”中输入:JAVA_HOME 在“Variable value write: C:\Program Files\Java\jdk-15.0.2\ bin”中按“OK”

我从维贾伊·巴特那里学了2-4步

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

添加新变量的通用命令语法:

setx variableName value /M

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

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

是这样的:

/M - flag设置系统环境变量。 执行命令后,您应该看到以下消息: SUCCESS:保存了指定的值。

我如何检查它是否已添加?

关闭您的活动终端; 打开你喜欢的终端; 输入java -version。

你应该会看到类似这样的东西:

注意: 用户变量可以创建w/o有根(管理员特权),而创建系统变量;您需要以根用户身份打开控制台。

我以C:\Program Files\Java\jdk-15.0.2\bin为例,在你的情况下,它可能与我的不同。


试试这个:

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

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


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

这似乎对我很管用。


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

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


重新启动命令提示符,检查JDK版本。我在上面花了02天,直到我在检查javac - version、javac等之前重新启动命令提示符,问题才得到解决。