关闭后强制删除.jar文件(创建Java卸载)

时间:2014-04-01 20:37:33

标签: java windows jar

我已经创建了基于Java的卸载程序 - 但仍存在一个问题 - 如何在关闭后删除卸载程序.jar文件(以及相关目录 - 例如... / SomeApplication / uninstaller / uninstaller.jar) ?卸载后保留一些文件并不是很好..

2 个答案:

答案 0 :(得分:1)

我通过使用外部实用程序(bat或sh)将卸载程序复制到临时文件夹(%TEMP%)并从该位置执行程序来解决此问题。

我觉得这是一个有效的实现,因为它会删除永久文件,剩下的唯一文件会随着时间的推移而被删除,或者至少表示为'temp'。

答案 1 :(得分:1)

您可以尝试使用File.deleteOnExit(),但不会隔离它来处理每个jvm。 另一种选择是编写一个运行器或使用包装器,并在java程序退出后添加一个删除。

<强>更新

示例:deinstall.bat

java -jar uninstall.jar
REM check exit status of run
delete jar

示例:smooth作为可执行包装器。 这个包装使用exitOnDelete并将jar复制到temp文件夹。