2011-01-19 23 views
0

在過去的幾年裏,我在Netbeans遇到過「鬼檔案」,但我沒有證據,所以我必須忍受它,當我試圖解釋這種情況時,現在很難相信我有它的證據,這是一個展示塞,它的任何修復?Netbeans ghost文件顯示塞,如何解決它?

它是這樣的,我有一個我一直在使用多年的Java類,一種工具,我增加了一點,因爲我有更多的經驗,但偶爾在添加新的方法,並在另一個類中使用它,Netbeans無法識別它,在我看來Netbeans仍在查看新添加的方法不存在的類的舊副本。然而,如果我將這個更新的類複製到另一個項目中,這個新方法就可以正常工作,Netbeans可以找到它。在NB6.7中,它表現得像是課堂凍結了,任何新增加的東西都不會被識別出來,現在當我在NB 6.9中試過時,我可以抓住「鬼魂」!

這是偶然發生的,昨天我更新了這個類之後,我試着在同一個項目的另一個類中使用這個新方法,紅旗上升了,找不到新的方法,於是我淹沒了新的方法調用,並右鍵單擊它,「導航」=>「去源」,砰的鬼出現了!如果我在NB 6.7中這樣做,它就會響起一聲響,彷彿它告訴我它找不到它。但是在NB 6.9中,它轉到了不是我的java類源文件[Get_Time.java]的「source」,它是另一個生成的文件,所以我對編輯器中打開的「ghost」文件名稱進行了嘲弄,名稱爲「C :\ Users \ USER.netbeans \ 6.9 \ var \ cache \ index \ s117 \ java \ 14 \ gensrc \ Get_Time.java(只讀)「,內容看起來像是我的源文件Get_Time.java的骨架,但絕對不同的,我很確定這是造成問題的這個「鬼文件」。

在開發過程中,我偶爾會更改系統時間來測試類中的不同功能,如果我將當前時間更改爲2016並修改源文件,是否會導致ghost文件混亂,記錄2016年最後更改的文件,如果我將時間更改回2011年,並添加一個新功能,它不會接受它,因爲它可能會比較不同版本源文件的日期,並堅持「最新時間郵票」 ?!

我希望NB永遠不要保留幽靈文件,「總是使用實際的源文件」,這將避免很多這樣的問題。我確實嘗試刪除該ghost文件,但下一次編譯時,它會再次生成。我不想刪除「C:\ Users \ USER.netbeans \ 6.9 ...」中的太多內容,這可能會弄亂我的NB設置。無論如何,現在它已經成爲一個展示瓶塞,我無法在課堂上添加更多的變化,它在時間上被凍結,有什麼修復?

+1

您是否嘗試過「Clean and Build」? – 2011-01-19 16:59:19

+0

不用說,這是第一種選擇,在Clean和Build之後,結果是在嘗試在Get_Time.java中使用新方法的類中發生錯誤,我已經多次將源文件移入和移出項目,didn沒有工作。 – Frank 2011-01-19 17:55:52

回答

1

只是一些建議,因爲我以前被這個問題刺痛了。 您是否構建了一個jar並手動向此jar添加了依賴項?

例如

1)將項目A打包到A.jar中,使用Time類。

2)項目B依賴於a.jar文件並投影

3)項目A變爲

Time.java

4)項目B就不會看到的變化,因爲它會永遠從讀發生變化之前建立的A.jar。

1

嘗試刪除NetBeans的緩存(~/.netbeans/6.9/var/cache/index/目錄),當您回到未來並轉向過去時。 NetBeans可能會因文件時間戳而感到困惑。由於圍繞這樣的日期跳轉是有點邊緣的情況,我懷疑NetBeans在嘗試修復/處理時會給予高度優先權。

+0

我不知道要去哪個未來的日期,是否有辦法刪除這個班級的所有舊記憶,好像它從來沒有存在過,我只是創建它?如果我刪除「〜/ .netbeans/6.9/var/cache」,會發生什麼情況,會導致IDE出現任何問題? – Frank 2011-01-19 20:16:35

相關問題