使用 Process.StartInfo 编译 Java 程序时出现错误“系统找不到指定的文件”

得到错误:

“该系统找不到指定的文件”

尝试使用Process.Start(). 它在我的电脑上运行良好,但在服务器上部署时出错。请帮帮我。谢谢。

下面是我的代码:

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();

}


慕尼黑8549860
浏览 147回答 1
1回答

LEATH

几乎可以肯定,javac 不在你那台机器上的路径中。将整个路径添加到 javac(不建议)或将 javac 的路径添加到您的环境。为什么我说“不建议”是因为 javac 可能需要在同一路径中找到其他东西。如果这不起作用..您可以尝试这种方式,当任何应用程序发生“找不到文件”或类似情况时永远不会失败..不仅仅是您的应用程序。获取免费的 sysinternals 进程监视器。打开它并添加一个过滤器(它是菜单[过滤器]->[过滤器])添加“进程名称”“is”(或 contians)“YourWinformApp.exe”[确定]清除列表并做破坏的事情。右键单击结果列中的“SUCCESS”和“排除'SUCCESS'”你的答案应该就在你的脸上。祝你好运!
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java