【发布时间】:2016-12-17 02:24:37
【问题描述】:
我的操作系统是 MAC OS 10.11.3。
我使用Spark作为我们的IM(即时通讯),但是当IM注销时,IM报错,说:
java.io.IOException:无法运行程序“open”:错误=2,没有这样的文件或目录。
但是当Eclipse运行时,它运行良好,当我将它打包成一个mac包并安装它并运行它时,点击“退出”按钮,它会抛出错误。
在程序中,当我注销时,我启动了一个新的 IM,同时,我杀死了旧的 IM 应用程序。
另外,在终端里,不管我跑多少次“open -a Spark”,都只是打开同一个IM,
来源如下:
public boolean restartApplicationWithScript() {
String command = null;
try {
if (Spark.isMac()) {
command = "open -a " + Default.getString(Default.SHORT_NAME);
}
String commands[] = {"open", "/Applications/Spark.app"};
Runtime.getRuntime().exec(commands);
System.exit(0);
return true;
} catch (IOException e) {
Log.error("Error trying to restart application with script", e);
return false;
}
}
【问题讨论】:
-
变量
command的作用是什么?你永远不会将它用于任何事情。 -
亲爱的安德烈亚斯,谢谢,是的,我只是测试了打开命令,但它不起作用,你有什么建议吗?
标签: java macos runtime-error runtime.exec