我正在尝试在mac osx中运行外部jar,我想要它的输出并设置属性
我的代码:
ProcessBuilder pb = new ProcessBuilder();
System.setProperty("user.home", file1);
Console.Out(System.getProperty("user.home"));
ArrayList<String> args = new ArrayList<String>();
args.add("java");
args.add("-jar");
args.add(jarFile);
pb.command(args);
Process p = pb.start();
System.setProperty("user.home", ModMaker.Root + "/MCP/jars");
BufferedReader bf = new BufferedReader(new InputStreamReader(p
.getInputStream()));
while(bf.readLine() != null)
;
if(!new File(somedir).exists()) {
int result = Joptionpane.showConfirmDialog(Gui.getFrame(),
"Program isn't installed properly!\n\nRun It again?",
"Not installed!", JOptionPane.YES_OPTION,
JOptionPane.WARNING_MESSAGE);
if(result == 0) {
runAgain();
}
}
但是当我运行它时,bf.readLine立即为null,并且它表示它已停止。但它不是。并且外部过程中的财产没有变化。
编辑:当我在Windows中运行它时,它正常工作!