我正在构建一个更新系统,需要在运行时替换正在运行的应用程序 jar 的引用 jar。但是,在 Windows 上尝试执行文件实用程序函数(如“setLastModified”)时,我遇到了文件锁定问题。
经过一些搜索,我找到了以下代码片段...
引用块:
谢谢。
经过一些搜索,我找到了以下代码片段...
引用块:
在我的研究中发现, 标准的ClassLoader实现从未关闭jar文件一旦它被打开。它也只在需要时从jar文件中加载资源。因此,在任何特定时间,可能有Classes在jar文件中没有加载到内存中。显然,如果您在ClassLoader下删除jar文件,并且它尝试在缺少的文件中查找资源,您将至少会得到一个IOException。
是否有人有关于如何做到这一点或解决此问题的信息的参考?谢谢。