为什么我可以替换Windows NTFS上无法删除的文件

时间:2018-02-06 21:03:49

标签: windows directory ntfs

我几天前用我的Windows文件系统发现了一个奇怪的发现,它使用了NTFS

我的文件系统中有一个文件夹,我的gradle项目用作缓存。在此文件夹中,有许多不同的文件夹,其中包含用作项目依赖项的java .jar文件。通常,这些jar文件是从我们项目用于存储这些jar的云存储系统下载的。我有三种不同的方式来更新这些jar文件。

  1. 我可以通过gradle项目进行完全刷新,其中缓存中的每个jar都会更新。这需要很多时间,只有在绝对必要时才会完成
  2. 当我想获得单个jar的最新版本时,我将删除jar文件,并刷新我的项目。该项目内部扩展到云存储系统并下载新的jar。
  3. 当我进行本地开发并想测试我的更改时,有时我会用我在本地开发的jar来替换这些jar(覆盖以前的jar)进行测试。
  4. 但是,如果我使用这些jar的任何java应用程序都是打开的,我只能替换jar,我无法删除它们。如果我尝试删除它们,我会收到一个The action can't be completed because the file is open in Java(TM) Platform SE binary.要删除后续步骤2的jar,我必须在删除之前关闭整个项目。

    我已阅读herehere,& here为什么会出现这种情况,但是我无法找到具体的答案,为什么Microsoft NTFS允许我在使用时用另一个覆盖jar,但是我不能在使用时删除jar。为什么会这样?

0 个答案:

没有答案