【发布时间】:2016-09-05 15:43:11
【问题描述】:
我正在尝试制作一个 Jar 文件,该文件运行一个主类,该主类打开一个新的终端窗口并从该 Jar 中运行其他类。
我看到了这个讨论“How do I make my java application open a console/terminal window?”,而 Brandon Barajas 的答案正是我想要的,但仅适用于 windows。我知道如何进行系统检测,但我不能让程序对 mac 和 linux 做同样的事情。有人(也许是布兰登)可以帮助我吗?
编辑:
我能够使用这个命令Runtime.getRuntime().exec(new String[]{"/usr/bin/xterm","-e","java -Dfile.encoding=UTF8 -jar \"" + "/" + filename + "\""+"; bash"});使其在linux中工作
打开xterm并发出命令,但我仍然不知道如何使它适用于mac终端。
编辑 2:
现在我可以使用
Runtime.getRuntime().exec("/usr/bin/open -a Terminal /usr/bin/java");
但它仍然不接受运行我的程序的参数。它只打开终端,运行java并退出。如果我尝试使用
Runtime.getRuntime().exec("/usr/bin/open -a Terminal /usr/bin/java -jar" + filename);
它什么都不做。
【问题讨论】:
-
你想让一个java类启动一个终端,然后用另一个类启动一个新的JVM?为什么?也许是 XY 问题的一个案例? meta.stackexchange.com/questions/66377/what-is-the-xy-problem