2010-12-21 154 views
5

我有一個使用一些SWT對象一個Eclipse插件項目,例如: -Eclipse插件的依賴正在解決

import org.eclipse.swt.widgets.Composite; 

當我嘗試用「目標平臺」設置爲編譯爲「運行平臺(Active)',它編譯得很好,我不需要導入任何swt特定的插件。

但是,我使用Eclipse 3.6.0創建了一個目標平臺,如果我將其設置爲活動平臺,那麼在使用swt類並且無法解決它們的地方,項目會編譯錯誤。

哪個插件應該添加依賴項來解決這些錯誤?

我試着添加'org.eclipse.swt',但似乎沒有幫助。

回答

4

我想通了。我試圖在64位操作系統上針對32位目標平臺進行編譯,所以過濾器與SWT庫不匹配,直到我從目標平臺首選項手動設置它們。

+0

哦,上帝,非常感謝你!我瘋了幾十個未解決的SWT組件錯誤。你拯救了我的一天。 – 2011-05-25 20:17:43

+2

你能解釋你如何手動設置它們嗎? – CodyBugstein 2013-05-08 13:37:50

+0

窗口 - >首選項 - >目標平臺 - >編輯 - >環境 - >將架構設置爲「x86」。爲我工作 – Calon 2014-05-08 11:33:49

9

我有同樣的問題。在我的情況下,我有一個缺失的依賴關係,我讓Eclipse爲我找到插件。

在某個p2站點上找到插件後,我在進度視圖中看到「重置目標平臺」。

之後,很多插件被打破。檢查目標平臺(窗口 - >首選項 - >插件開發 - >目標平臺 - >編輯),字段「架構」已從x86_64更改爲x86

改回數值並點擊「完成」後,再次重置了TP並且錯誤消失了。

+0

如何讓Eclipse找到缺失的依賴關係? – garyp 2013-01-29 19:53:23

+0

使用「問題視圖」或Ctrl + 1中的上下文菜單。 – 2013-01-30 09:51:30

+0

我有這個問題,但我的目標平臺已經設置爲'x86_64'。 – 2017-11-08 17:17:51

-1

對我來說,我需要將對應於SWT庫的外部罐子添加到我的構建路徑。此外,我需要添加特定於我的平臺(Windows)的。

添加以下jar文件到我的項目構建路徑:

$USER/.p2/pool/plugins/org.eclipse.swt_3.106.1.v20170926-0519.jar 
$USER/.p2/pool/plugins/org.eclipse.swt_3.106.1.v20170926-0519.jar 
+0

爲什麼你兩次添加相同的JAR?您的解決方案可能是錯誤的,只是隱藏了您在其他地方犯下的錯誤。你真的需要檢查你的目標平臺。當插件位於目標平臺中時,Eclipse應該能夠把所有東西都弄清楚。 – 2017-11-28 13:11:42