Netbeans鬼文件显示塞子,如何解决?

时间:2011-01-19 16:54:13

标签: file netbeans netbeans-6.9

在过去的几年里,我在Netbeans中遇到过“鬼文件”,但我没有证据,所以我不得不忍受它,当我试图解释这种情况时,很难相信,现在我有它的证据,它是一个显示塞子,任何修复它?

就是这样,我有一个多年来一直使用的Java类,一种工具,我添加了一点,因为我有更多的经验,但偶尔,我添加了一个新的方法,并且在另一个类中使用它,Netbeans无法识别它,在我看来,Netbeans仍在查看新添加的方法不存在的类的旧副本。然而,如果我将这个更新的类复制到另一个项目,新方法可以正常工作,Netbeans可以找到它。在NB 6.7中,它的作用就像课程在时间上冻结一样,任何新增加的内容都无法识别,现在当我在NB 6.9中尝试时,我可以抓住“幽灵”!

偶然发生了,昨天我更新了课程后,我试图在同一个项目的另一个班级中使用新方法,红旗上升,找不到新方法,所以我m over了新方法调用,并右键单击它,“导航”=> “去源头”,爆炸鬼出现了!如果我在NB 6.7中这样做,它只是按响了一声,好像它告诉我它找不到它。但是在NB 6.9中,它转到了“源”,这不是我的java类源文件[Get_Time.java],它是另一个生成的文件,所以我在编辑器中隐藏了打开的“ghost”文件名,名称为“C” :\ Users \ USER.netbeans \ 6.9 \ var \ cache \ index \ s117 \ java \ 14 \ gensrc \ Get_Time.java(只读)“,内容看起来像我的源文件Get_Time.java的骨架,但绝对是不同的,我很确定这是“鬼文件”导致问题。

在开发过程中我偶尔会改变系统时间来测试类中的不同功能,这会导致ghost文件搞砸,如果我将当前时间更改为2016并修改源文件,那么NB可能会记录该文件最后在2016年更改,如果我将时间更改回2011,并添加新功能,它将不接受它,因为它可能会比较不同版本的源文件的日期并坚持使用“最新时间戳” “?!

我希望NB永远不会保留ghost文件,“始终使用实际源文件”,这样可以避免很多这样的问题。我确实试图删除那个ghost文件,但是下次编译时,它会再次生成。我不想从“C:\ Users \ USER.netbeans \ 6.9 ......”中删除太多内容,它可能会搞砸我的NB设置。无论如何,它现在是一个节目制服者,我无法在课程中添加更多更改,它会及时冻结,有什么问题需要解决?

2 个答案:

答案 0 :(得分:1)

当您回到未来并转发到过去时,请尝试删除NetBeans的缓存(~/.netbeans/6.9/var/cache/index/目录)。 NetBeans可能会因文件时间戳而感到困惑。由于在这样的日期之间跳过某种边缘情况,我怀疑NetBeans会在尝试修复/处理时给予高度优先。

答案 1 :(得分:1)

只是一些建议,因为我之前被这个问题所困扰。 你是否构建了一个jar并手动添加了对这个jar的依赖?

e.g。

1)项目A打包到带有类Time的A.jar中。

2)项目B依赖于A.jar和项目A

3)项目A中的Time.java已更改

4)项目B将不会看到更改,因为它总是从更改发生之前构建的A.jar中读取。