我有一个Java应用程序,当我通过命令行运行它时工作正常(我使用Notepad ++编写它)。但是,当我尝试将相同的Java应用程序移植到Eclipse中时,它并不适合我。它是一个具有批处理文件的应用程序,该文件应该重新启动中途中断的程序:
批处理文件:
set CLASSPATH=./bin
java fixedMessageApp.FixedMessageSequenceServer 4446 mylogfile.txt 0 0
ping 127.0.0.1 -n 2 > nul
rem java fixedMessageApp.FixedMessageSequenceClient localhost 4444 myclientLog.txt 0
Java文件:
public class FixedMessageRunner {
public static void main(String[] args) {
if (args.length < 1) {
System.out.println("usage: java FixedMessageRunner CMD" );
System.exit(0);
}
try {
//for (;;) {
String current = new java.io.File( "." ).getCanonicalPath();
System.out.println("Current dir:"+current);
ProcessBuilder pb = new ProcessBuilder(args[0]);
pb.directory(new File(current)); //("C://FixedMessageApplication//"));
Process p = pb.start();
p.waitFor();
//}
} catch (IOException i) {
i.printStackTrace();
}
catch (InterruptedException i) {
i.printStackTrace();
}
}
}
为什么Eclipse中没有这种功能,就像在CMD中一样?在Eclipse中,当它运行时它将挂起: