1

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

当我将“创建”命令传递给 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 变量。你能帮我纠正一下吗?

4

7 回答 7

4

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

于 2012-04-23T12:36:24.477 回答
2

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

希望这可以帮助某人。

于 2012-09-16T20:22:59.730 回答
1

In my experience, this problem had nothing to do with Java path. Actually I had installed java for 64 bit machine and had compiled my C# program with 32 bit settings. Calling a 64Bit program was not possible from a 32bit program. So i changed my Target platform to "Any CPU" and it worked fine.

于 2012-09-28T14:47:04.013 回答
1

尝试正确设置 tha java 路径

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

于 2012-04-23T12:34:48.033 回答
0

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

于 2014-07-20T15:40:16.680 回答
0

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

于 2013-07-02T11:04:07.230 回答
0

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

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

希望它可以帮助你。

于 2012-07-30T09:22:08.727 回答