2011-02-07 62 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放入类路径

相关问题