我正在编写一个应用程序,该应用程序使用 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变量。你能帮我纠正一下吗?
你应该检查你的 PATH 变量。您可以使用 set
命令设置 java 环境文件夹的正确路径。
这是否会帮助正在查看这篇文章的其他任何人,但是当我遇到这个问题时,这是因为我正在运行一台x64机器并且java.exe被安装到ProgramFiles(x86)文件夹中。我只是将 exe 的路径添加到"PATH"环境变量中,然后它就启动了。
希望这对某人有所帮助。
尝试正确设置Java路径
你能给我确切的错误消息你得到...
根据我的经验,这个问题与Java路径无关。实际上,我已经为64位机器安装了java,并使用32位设置编译了我的C#程序。从 32 位程序调用 64 位程序是不可能的。所以我将我的目标平台更改为"任何CPU",它工作正常。
我也遇到了同样的问题并找到了我的解决方案。它也可能对您有所帮助。
- 设置 PATH 变量。我不知道此步骤是否必需,但我只是在 TEMP 变量中添加了 java.exe 的路径。
- 在命令提示符下将当前目录更改为 java.exe父目录。
- 现在跑到我需要的命令。如果在命令中引用了某个文件,那么我输入了完整的路径。
希望对您有所帮助。
如果 PATH 变量中有多个值,请确保它们之间没有用结束分号 (;) 后面的空格分隔
我遇到了同样的问题并解决了它。我使用的是64位Windows 7和64位Java。在配置管理器中将编译目标设置为"x64"解决了这个问题。如果您使用"任何CPU",则构建可能会回退到"x86",这不适用于64位Java。因此,您需要为不同的机器提供不同的构建...