我想從我的java程序運行jar文件。如何從java程序運行jar文件和啓動終端?
ProcessBuilder pb = new ProcessBuilder("java", "-jar", "parallel/Parallel.jar", "aug/*.xml");
Process p = pb.start();
BufferedReader in = new BufferedReader(new InputStreamReader(p.getInputStream()));
String s = "";
while((s = in.readLine()) != null){
System.out.println(s);
}
int status = p.waitFor();
System.out.println("Exited with status: " + status);
以下是錯誤日誌中我得到:
[33mProblem found trying to create the log file[0m
[31mCannot locate configuration source aug/*.xml[0m
[31mNo files to work with[0m
Exited with status: 1
問題1:我用整個文件名試過*而不是和它的作品。但是,我想在該目錄下的所有文件上運行該jar。
問題2:運行時,jar文件會要求輸入「繼續」或「取消」。但是jar程序只是在Eclipse控制檯中退出,而沒有給我機會輸入任何東西。所以,我想知道是否有辦法在終端中啓動jar文件?
請提供有關JAR'parallel/Parallel.jar'的更多詳細信息。如果這個JAR需要輸入,你應該使用http://docs.oracle.com/javase/7/docs/api/java/lang/Process.html#getOutputStream() –
你確定它只是在Eclipse中退出(當你提供一個有效的文件名),而不是等待從來沒有來自管道的輸入? – RealSkeptic