我为一个简单的条形码生成器应用程序编写了一个可运行的JAR文件。当我将它从eclipse导出到我的桌面时,运行它然后决定删除它,它弹出:
我可以在源代码中编写哪些内容来阻止这种情况?杀死任何可能挥之不去的线程的方法?或者在JVM中举行的任何会议?
任何帮助将不胜感激,
谢谢。
答案 0 :(得分:0)
在执行结束时或在终止主线程之前,我更喜欢使用System.exit(STATUS_CODE)
我们git摆脱当前进程或实例运行所使用的任何文件
答案 1 :(得分:0)
我设法搞清楚了,我从未有过“System.exit(0);”在我的代码中调用。所以我用过:
frame.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
这在内部使用“System.exit();”,当您按下Java应用程序窗口中的“x”按钮时,它将退出JVM中所有正在运行的Java线程。然后终止JVM本身。请注意,如果您打开任何其他Java线程,EXIT_ON_CLOSE将关闭所有这些线程。通过任务管理器关闭JVM中运行的所有Java SE二进制可执行文件后,我将其添加到我的代码中并输出一个新的可运行的JAR。我跑了,然后关闭它,然后去删除它。它已成功删除。
我希望这可以帮助任何可能坚持这一点的人。