在我正在开发的Java应用程序中,我需要在新的控制台中启动一个方法:在运行应用程序时,我想调用一个方法并在一个新的单独控制台中执行它的内容:是否可能?
提前致谢
答案 0 :(得分:0)
可以通过创建一个负责执行该方法的新进程(java.lang.Process
)来实现。但是因为进程只能调用main()
并且无法从某个类调用单独的方法,所以需要将所需的方法包装到另一个类中:
public class SecondClass {
public static void main(String[] args) {
// if it's static
FirstClass.yourMethod(...);
// if it's non-static
new FirstClass().yourMethod(...);
}
}
然后通过使用ProcessBuilder类或Runtime.exec(),调用SecondClass的main()方法
Process p = new ProcessBuilder("java -cp [...] SecondClass").start();
或
Process p = Runtime.getRuntime().exec("[as above]");
你得到了流程实例。将该代码放入FirstClass