2009-07-22 66 views
13

如何讓eclipse重建項目或工作區中包含的類的數據庫?這是它用來使「參考」菜單操作起作用,它用於「添加導入」對話框等等。基本上,它是Eclipse的核心實用性的一部分。而現在,它只爲我的項目的5%工作。修復Eclipse java引用數據庫損壞?

我碰到的這個問題多次:有事用eclipse,或者通過一個OutOfMemoryError因爲我開了一些巨大的文件,或者是因爲工作區只是具有堅固耐用的幾個月。

現在,我使用在Win32 Eclipse的伽利略。但是,我在MacOS以及Europa和Ganymede上遇到了這個問題。

在過去,我已經看不上我的工作區,並重新開始,但今天這是不是一種選擇。我上次的工作區備份是從上週五開始的,但這還意味着需要數小時的恢復工作。當然,必須有另一種選擇?

編輯:我已經使用了Eclipse -clean以及重建我的項目。這是eclipse中某處的腐敗問題,而不是我的項目。

回答

2

這工作:從當前工作區

  • 出口首選項(文件 - >導出 - >常規 - >首選項)
  • 切換工作區到一個新的工作區
  • 導入喜好到當前工作區
  • 將您的舊項目導入新工作區(文件 - >導入 - >常規 - >現有項目到工作區),選擇「複製項目」

這適用於獲取參考數據庫固定。要獲得SVN(大概CVS)再次工作:

  • 右鍵單擊項目,選擇團隊,選擇「共享項目」。選擇您正在使用的任何類型的版本控制庫,然後單擊下一步。 Eclipse應該認識到你的項目已經配置好了,只需點擊Finish即可。
  • 使用存儲庫更新您的源代碼。
+0

好的程序。謝謝您的反饋+1 – VonC 2009-07-22 17:51:58

0

我建議在項目上運行Project> Clean ...。這應該會導致項目的競爭重新編譯。

+0

不幸的是,這似乎沒有效果:( – lucasmo 2009-07-22 17:26:35

0

您可以嘗試刪除您的項目(但不刪除課程的來源,只與它相關的元數據)開始。

然後你再你的項目導入您的工作空間(因爲的.classpath和.project仍在您的硬盤驅動器上)

這樣一來,所有工作區不會受到影響,只有部分有關當前的項目。

+0

該項目通過SVN(使用顛覆插件)檢出,所以刪除元數據使得eclipse'忘記'它來自於一個subversion版本庫。以避免,因爲結帳過程需要近兩個小時,如果有一種方法來刪除所有非SVN元數據,我會爲此。 – lucasmo 2009-07-22 17:28:47

0

一)退出Eclipse的

b)將所有的項目斌/目標文件夾(如與命令行)

#starting from current folder (".") search for folders 
# ("-type d") with name (-iname) "target" or "bin" 
# feed this to xargs which calls 
# rm -rf (remove recursive "-r" and force "-f") 
# with the results from find 

find . -iname "target" -type d | xargs rm -rf 

find . -iname "bin" -type d | xargs rm -rf 

C)重新啓動Eclipse

通常不需要從工作區中刪除任何項目或刪除.classpath或.setti ng!

d)清除所有項目

1

當發生這種情況,我通常必須從工作區中刪除的項目,去命令行和rm -rf .settings .profile文件的.classpath,然後重新導入項目回。有時候我必須刪除元數據目錄(這意味着我必須重新安裝我的一些插件)。我還沒有找到一個實際的解決方案。清理項目沒有任何幫助。

你不應該有「小時修復」的工作要做,如果你只是刪除了.settings和的.profile的.classpath。您只需在將它們從工作區中移除後重新導入項目。雖然煩人,但不應超過5至10分鐘。

34

首先退出Eclipse。接下來在您的工作空間目錄中,刪除.metadata/.plugins/org.eclipse.jdt.core/目錄。下次啓動Eclipse時,它將重建其所有內部索引。通常清理項目並不會強制重建所有的元數據。

+0

好點,我有忘記了那個目錄+1 – VonC 2009-07-22 17:53:22

+1

不得不重啓開普勒兩次 – Basilevs 2013-11-28 06:37:56

7

如果它只是在項目級別上,我記得您可以簡單地關閉項目(即項目 - >關閉項目),然後重新打開它(項目 - >打開項目)。你甚至不需要重新啓動eclipse。

0

對我來說這是一個過濾器...在Windows上按CTRL + G Eclipse Luna具有'潛在匹配'實際上CHECKED使問題消失。

由於搜索clear()方法會返回各種不同的結果。