使用 Process.StartInfo 编译 Java 程序时出现错误 "The system cannot find the file specified"
Getting error "The system cannot find the file specified" on compiling Java program using Process.StartInfo
获取错误:
"The system cannot find the file specified"
尝试使用 Process.Start()
编译 Java 程序时。它在我的电脑上运行良好,但在部署到服务器上时出现错误。请帮帮我。
谢谢。
下面是我的代码:
public void CompileJava(string path, string Qid)
{
Process jcprocess = new Process();
jcprocess.StartInfo.WorkingDirectory = path;
jcprocess.StartInfo.FileName = "javac";
jcprocess.StartInfo.Arguments = path+"Main.java";
lbl_Test.Text = jcprocess.StartInfo.Arguments.ToString();
jcprocess.StartInfo.UseShellExecute = false;
jcprocess.StartInfo.RedirectStandardInput = true;
jcprocess.StartInfo.RedirectStandardOutput = true;
jcprocess.StartInfo.RedirectStandardError = true;
jcprocess.StartInfo.CreateNoWindow = true;
jcprocess.StartInfo.WindowStyle = ProcessWindowStyle.Hidden;
jcprocess.Start();
}
几乎可以肯定是 javac 不在您在那台机器上的路径中。
要么将整个路径添加到 javac(不建议),要么将 javac 的路径添加到您的环境中。为什么我说 "not suggested" 是因为 javac 可能需要在同一路径中找到其他东西。
如果这不起作用..
您可以尝试这种方式,当任何应用程序发生 'file not found' 或类似情况时永远不会失败。不只是您的应用程序。
- 获取免费的 sysinternals 进程监视器。
- 打开添加滤镜(菜单[滤镜]->[滤镜])
- 添加"Process Name""is"(或contians)"YourWinformApp.exe"[OK]
- 清空列表,做一些坏事。
- 右键单击结果列中的 "SUCCESS",然后 "Exclude 'SUCCESS'"
- 你的答案应该就在你的脸上。
祝你好运!
获取错误:
"The system cannot find the file specified"
尝试使用 Process.Start()
编译 Java 程序时。它在我的电脑上运行良好,但在部署到服务器上时出现错误。请帮帮我。
谢谢。
下面是我的代码:
public void CompileJava(string path, string Qid)
{
Process jcprocess = new Process();
jcprocess.StartInfo.WorkingDirectory = path;
jcprocess.StartInfo.FileName = "javac";
jcprocess.StartInfo.Arguments = path+"Main.java";
lbl_Test.Text = jcprocess.StartInfo.Arguments.ToString();
jcprocess.StartInfo.UseShellExecute = false;
jcprocess.StartInfo.RedirectStandardInput = true;
jcprocess.StartInfo.RedirectStandardOutput = true;
jcprocess.StartInfo.RedirectStandardError = true;
jcprocess.StartInfo.CreateNoWindow = true;
jcprocess.StartInfo.WindowStyle = ProcessWindowStyle.Hidden;
jcprocess.Start();
}
几乎可以肯定是 javac 不在您在那台机器上的路径中。 要么将整个路径添加到 javac(不建议),要么将 javac 的路径添加到您的环境中。为什么我说 "not suggested" 是因为 javac 可能需要在同一路径中找到其他东西。
如果这不起作用.. 您可以尝试这种方式,当任何应用程序发生 'file not found' 或类似情况时永远不会失败。不只是您的应用程序。
- 获取免费的 sysinternals 进程监视器。
- 打开添加滤镜(菜单[滤镜]->[滤镜])
- 添加"Process Name""is"(或contians)"YourWinformApp.exe"[OK]
- 清空列表,做一些坏事。
- 右键单击结果列中的 "SUCCESS",然后 "Exclude 'SUCCESS'"
- 你的答案应该就在你的脸上。
祝你好运!