Получение ошибки «Система не может найти указанный файл» при компиляции Java-программы с помощью Process.StartInfo - PullRequest
0 голосов
/ 08 марта 2019

Получение ошибки:

"Системе не удается найти указанный файл"

при попытке скомпилировать программу 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();
}

1 Ответ

0 голосов
/ 08 марта 2019

Это почти наверняка Javac не находится на вашем пути на этой машине.Либо добавьте полный путь к javac (не предлагается), либо добавьте путь к javac в вашу среду.Почему я говорю «не рекомендуется», потому что могут быть другие вещи, которые javac, возможно, нужно будет найти по тому же пути.

Если это не сработает. Вы можете попробовать этот способ, который НИКОГДА НЕ ОТКАЗЫВАЕТСЯ, когда файл ненайдено или подобное происходит с ЛЮБЫМ приложением .. не только вашим.

  1. Получите бесплатный монитор процессов sysinternals.
  2. Откройте его и добавьте фильтр (это меню [Фильтр] -> [Фильтр])
  3. Добавить «Имя процесса» «is» (или contians) «YourWinformApp.exe» [OK]
  4. Очистить список и выполнить то, что ломается.
  5. Щелкните правой кнопкой мыши на «УСПЕХ» в столбце результатов и «Исключить« УСПЕХ »»
  6. Ваш ответ должен быть прямо перед вами.

Удачи!

...