Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/368.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Eclipse及其伪文件管理_Java_Eclipse - Fatal编程技术网

Java Eclipse及其伪文件管理

Java Eclipse及其伪文件管理,java,eclipse,Java,Eclipse,我有一个相当大的Eclipse项目,在过去6个月里经历了几次重大重构。已使用重构>>重命名添加、删除和重命名包,这些包中的源文件也是如此 今天我想数一数在项目根目录下有多少个源文件,但AgentTransack返回的结果让我大吃一惊。我原以为是200-250左右,但结果是325左右。我开始查看文件列表,果然,其中一些文件是我在亿万年前删除的Java文件 我打开Windows资源管理器,浏览了一下我的项目目录,当然,我看到它们都放在我的文件系统上,好像什么都没发生过一样 显然,Eclipse正在呈

我有一个相当大的Eclipse项目,在过去6个月里经历了几次重大重构。已使用重构>>重命名添加、删除和重命名包,这些包中的源文件也是如此

今天我想数一数在项目根目录下有多少个源文件,但AgentTransack返回的结果让我大吃一惊。我原以为是200-250左右,但结果是325左右。我开始查看文件列表,果然,其中一些文件是我在亿万年前删除的Java文件

我打开Windows资源管理器,浏览了一下我的项目目录,当然,我看到它们都放在我的文件系统上,好像什么都没发生过一样

显然,Eclipse正在呈现某种类型的我的项目目录的视图,并且正在使用某种元数据来标记已删除的目录、已重命名的目录等。但是对于文件系统来说,没有任何变化

通常我不会对此感到不安,但我只是导入了一个类,该类以前打包为org.me.myproj.fizz.Widget,但后来被重构为org.me.myproj.buzz.Widget。当我点击快捷键Ctrl+Shift+O时,Eclipse问我想要哪个小部件——但第一个小部件不应该再存在了


当我在Eclipse中删除包/文件夹/文件时,或者如果我通过重构>>重命名/移动来重命名/移动它们,如何确保这些更改对底层文件系统是永久性的???

我从未见过这种行为。在Eclipse中删除/重命名文件会在文件系统上执行此操作。否则就不可能使用任何外部工具ant、Maven、gradle或其他任何工具来构建项目。你必须有一些东西来恢复这些文件,否则你一定看不到正确的地方。这正在发生!!另外,想一想:从历史记录中恢复功能还有什么用?将文件的旧版本保存在工作区的私人文件夹中。看,我看不出你在争论你正在看到你所描述的,但是你已经制定了一个关于为什么会发生这种情况的理论,这是不正确的。你需要寻找其他原因。Eclipse总是直接在文件系统上进行文件更改。顺便说一句,如果它们确实在文件系统上,Eclipse在文件系统中查找项目文件,右键单击项目并选择“刷新”也会使它们在Eclipse中可见。