我在 java 和 cygwin 的帮助下运行 shell 脚本。当我在 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