“java.exe”不被识别为内部或外部命令、可操作程序或批处理文件

本文关键字:命令 外部 可操作 批处理文件 程序 内部 exe java 识别 | 更新日期: 2023-09-27 18:31:56

我正在编写一个应用程序,该应用程序使用 cmd 通过 ant 批处理文件创建 Java portlet.exe使用 C# 中的 Process 对象。

当我将"创建"命令传递给 cmd 以创建 Portlet 时,我收到如下错误:

'"java.exe"' is not recognized as an internal or external command,
operable program or batch file.

但是当我直接在cmd上键入此命令时,可以正常工作。

我已经在我的 Windows 7 上安装了 JDK,并在环境变量中设置了JAVA_HOME和ANT_HOME变量。你能帮我纠正一下吗?

“java.exe”不被识别为内部或外部命令、可操作程序或批处理文件

你应该检查你的 PATH 变量。您可以使用 set 命令设置 java 环境文件夹的正确路径。

我不知道

这是否会帮助正在查看这篇文章的其他任何人,但是当我遇到这个问题时,这是因为我正在运行一台x64机器并且java.exe被安装到ProgramFiles(x86)文件夹中。我只是将 exe 的路径添加到"PATH"环境变量中,然后它就启动了。

希望这对某人有所帮助。

尝试正确设置Java路径

你能给我确切的错误消息你得到...

根据我的经验,这个问题与Java路径无关。实际上,我已经为64位机器安装了java,并使用32位设置编译了我的C#程序。从 32 位程序调用 64 位程序是不可能的。所以我将我的目标平台更改为"任何CPU",它工作正常。

我也遇到了同样的问题并找到了我的解决方案。它也可能对您有所帮助。

  1. 设置 PATH 变量。我不知道此步骤是否必需,但我只是在 TEMP 变量中添加了 java.exe 的路径。
  2. 在命令提示符下将当前目录更改为 java.exe父目录。
  3. 现在跑到我需要的命令。如果在命令中引用了某个文件,那么我输入了完整的路径。

希望对您有所帮助。

如果 PATH 变量中有多个值,请确保它们之间没有用结束分号 (;) 后面的空格分隔

我遇到了同样的问题并解决了它。我使用的是64位Windows 7和64位Java。在配置管理器中将编译目标设置为"x64"解决了这个问题。如果您使用"任何CPU",则构建可能会回退到"x86",这不适用于64位Java。因此,您需要为不同的机器提供不同的构建...