我正在尝试在新窗口中创建一个新进程。我正在关注命令Running a command in a new Mac OS X Terminal window的这个示例(使用Java Process builder)。我打印出结果命令,如果我手动输入它就可以工作,但是当我运行它时它不会启动新窗口。
像osascript -e 'tell application "Terminal" to do script "java -jar test.jar"'
这样简单的东西没有带来任何东西
示例代码:
try {
ProcessBuilder pb = new ProcessBuilder("osascript", "-e",
"'tell application \"Terminal\" to do script \"java -jar test.jar\"'");
Process p = pb.start();
} catch (Exception ex) {
ex.printStackTrace();
}
它甚至没有出现错误(如果它在新的终端窗口中启动java进程应该如此)
答案 0 :(得分:3)
和往常一样,虽然我花了好几个小时研究我的问题但是在我要求堆栈溢出之后找到了愚蠢的解决方案...不需要tell application...
周围的单引号。 Process builder就是这样做的。呃,不确定是否需要关闭问题。相当本地化,但肯定令人困惑的IMO