0

我正在尝试在 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 立即为空,它说它已停止。但它不是。并且属性在外部过程中没有改变。

编辑:当我在 Windows 中运行它时它工作正常!

4

0 回答 0