【发布时间】:2016-06-14 21:52:37
【问题描述】:
在我正在开发的 Java 应用程序中,我需要在新的控制台中启动一个方法:在运行应用程序时,我想调用一个方法并在一个新的单独控制台中执行其内容:可以吗?
提前致谢
【问题讨论】:
-
没有。一个新的控制台需要一个新的进程,这意味着它需要一个新的程序,而不仅仅是一个新的方法。
-
那么您建议什么样的解决方案?目前该方法实际上是一个类,可能是一个不同的程序......我的目标是从第一个开始启动新程序+新控制台,类似于方法调用......我不希望用户启动2 个手动程序
-
将其他代码放入一个新 jar 中,以便您可以使用
java -jar newjar.jar运行它,然后根据您的操作系统按照此处所述运行它:Open a new prompt/terminal window from Java -
我正在尝试这两种方法但它不起作用:打开了一个新终端但没有执行任何命令并且没有打开jar...
try { Runtime.getRuntime().exec("/usr/bin/open -a Terminal /Users/.../src/temp.jar"); } catch (IOException e) { e.printStackTrace(); } / / String[] argS = new String[] {"/bin/bash", "-c", "java", "-jar", "/Users/.../src/temp.jar"}; try { Process proc = new ProcessBuilder(argS).start(); } catch (IOException e) { e.printStackTrace(); }