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

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

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

编辑:

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


当前回答

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

首先找出您在哪个目录中安装了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是否在你的类路径中。

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

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

这似乎对我很管用。

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

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

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

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


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