Я запускаю сценарии оболочки с помощью Java и Cygwin. Когда я запускаю свой код в Windows XP, он работает нормально. Теперь я пытаюсь запустить тот же код на Windows 7, я получаю выше ошибка.
(java.io.IOException)java.io.IOException:
Cannot run program "sh" (in directory"c:\cygwin\bin\test"):
CreateProcess error=2.The system cannot find file specified
Почему произошла эта ошибка. Я установил свой путь для cygwin (PATH=.;c:\cygwin\bin)
Как этого избежать.
ProcessBuilder pb = new ProcessBuilder ();
pb.directory(new File("C:\\cygwin\\bin\\Test\\"));
File shellfile = new File("app.sh");//File name with extension
System.out.println(shellfile.getCanonicalPath());
Но он выводит как E:\NIRAJ\example\app.sh
, что есть в моей Java-программе. даже я устанавливаю pb.directory к пути.
если я проверю System.out.print(pb.directory());
, это даст мне вывод C:\cygwin\bin\Test