我有一个被 JVM 锁定的文件(它是一个 jar 文件,提供在运行时某个时刻加载的类)。当我的程序退出时我想删除这个文件。然而,简单地使用 File#deleteOnExit() 将其注册为删除并不能解决问题,文件不会被删除。我假设这是因为在删除计划删除的文件时 JVM 仍在运行,因此我的 jar 仍然处于锁定状态。有没有办法在 JVM 退出时删除 JVM 锁定的文件?预先感谢
PS:我已经确保 JVM 自然终止,结果仍然相同。
JVM 使用的 jar 不是可以在应用程序中打开和关闭的普通文件。它们由 JVM 类加载器加载,deleteOnExit() 对它们不起作用是有道理的,因为 JVM 可能没有关闭它们。