我几天前用我的Windows文件系统发现了一个奇怪的发现,它使用了NTFS。
我的文件系统中有一个文件夹,我的gradle项目用作缓存。在此文件夹中,有许多不同的文件夹,其中包含用作项目依赖项的java .jar文件。通常,这些jar文件是从我们项目用于存储这些jar的云存储系统下载的。我有三种不同的方式来更新这些jar文件。
但是,如果我使用这些jar的任何java应用程序都是打开的,我只能替换jar,我无法删除它们。如果我尝试删除它们,我会收到一个The action can't be completed because the file is open in Java(TM) Platform SE binary.
要删除后续步骤2的jar,我必须在删除之前关闭整个项目。
我已阅读here,here,& here为什么会出现这种情况,但是我无法找到具体的答案,为什么Microsoft NTFS允许我在使用时用另一个覆盖jar,但是我不能在使用时删除jar。为什么会这样?