在 jvm 退出时删除 jvm 锁定的文件

问题描述 投票:0回答:1

我有一个被 JVM 锁定的文件(它是一个 jar 文件,提供在运行时某个时刻加载的类)。当我的程序退出时我想删除这个文件。然而,简单地使用 File#deleteOnExit() 将其注册为删除并不能解决问题,文件不会被删除。我假设这是因为在删除计划删除的文件时 JVM 仍在运行,因此我的 jar 仍然处于锁定状态。有没有办法在 JVM 退出时删除 JVM 锁定的文件?预先感谢

PS:我已经确保 JVM 自然终止,结果仍然相同。

java jvm file-locking
1个回答
0
投票

JVM 使用的 jar 不是可以在应用程序中打开和关闭的普通文件。它们由 JVM 类加载器加载,deleteOnExit() 对它们不起作用是有道理的,因为 JVM 可能没有关闭它们。

最新问题
© www.soinside.com 2019 - 2025. All rights reserved.