2011-02-07 63 views
1

我在嘗試從位於我的項目的引用庫中的jar文件使用導入的類時遇到問題。Eclipse RunTime NoClassDefFoundError

所以我有一個項目在引用庫中有pydev.jar文件。 Pydev.jar包含org.python.pydev.navigator.elements.PythonNode,並且我已經將其導入到其中一個Java文件中。當我在Java文件中導入並使用它時,Eclipse沒有提供錯誤,但是當我將該項目作爲Eclipse應用程序運行時,拋出了java.lang.NoClassDefFoundError:org/python/pydev/navigator/elements/PythonNode異常。

代碼試圖施放一個■選型爲低於PythonNode:

IStructuredSelection sel = (IStructuredSelection) 
           window.getSelectionService().getSelection(); 

ArrayList<String> testNames = new ArrayList<String>(); 
Iterator<?> itr = sel.iterator(); 

String testName = ""; 
String testSuite = ""; 

while(itr.hasNext()) { 
    PythonNode selectionElement = (PythonNode) itr.next(); 

    testName = selectionElement.toString(); 
    testSuite = selectionElement.pythonFile.toString(); 

    testNames.add(testSuite + "." + testName); 
} 

如果任何人都可以解釋爲什麼異常被拋出在運行時使用PythonNode類的,我會非常感激。據我所見,它是正確導入的,因爲它在引用庫中是可見的。

+0

PythonNode是否引用該檔案中的其他類,但您尚未包含在類路徑中? – 2011-02-07 15:33:39

+0

我不知道是誠實的答案。我假設它會出現在堆棧跟蹤中,如果它是另一個沒有被發現的類。 – bmooney 2011-02-07 15:44:18

回答

2

我想你正在構建Eclipse RCP或Eclipse插件。我對嗎?

如果是的話,你應該把pydev.jar放在插件依賴項下。轉到plugin.xml,運行時並將pydev.jar放入類路徑

相關問題