我创建了一个 Java 桌面应用程序(使用 Swing),现在正试图通过使用 JNLP 从网络启动它来使其工作。当我从终端启动该应用程序时,它运行良好,但一旦我从 JNLP 启动它,它就不会关闭。我每次都必须手动终止该进程。
我读到如果我JFrame
将DISPOSE_ON_CLOSE
其用作默认关闭操作可能会出现问题,但事实并非如此。它使用DO_NOTHING_ON_CLOSE
(隐式)。另外,我System.exit(0)
在释放所有对象后明确调用:
f = new JFrame("Pacman");
f.addWindowListener(new WindowAdapter() {
@Override
public void windowClosing(WindowEvent e) {
// Terminate the Game-loop:
GameLoop.INSTANCE.stopLoop();
// Close the application:
System.exit(0);
}
});
我想当我关闭应用程序时可能会引发异常,但我找不到一种方法来获取以 JNLP 启动的正在运行的应用程序的控制台输出(例如 Stack-Trace)。这是我尝试过的:
- 从调试参数开始
javaws
并连接jconsole
(有效,但我找不到任何异常或控制台输出)。 - 从调试参数开始
javaws
并将 IntelliJ 调试器附加到它(也可以,但不给我任何输出)
那么,如何使用 JNLP 启动应用程序并获取输出(写入默认输出和错误流),就像使用普通桌面应用程序一样?