Eclipse RunTime NoClassDefFoundError

时间:2011-02-07 15:29:54

标签: java eclipse pydev noclassdeffounderror

我在尝试使用jar文件中导入的类时遇到问题,该文件位于我项目的引用库中。

所以我有一个项目,它在Referenced Libraries中有pydev.jar文件。 Pydev.jar包含org.python.pydev.navigator.elements.PythonNode,我已经在其中一个Java文件中导入了它。当我在Java文件中导入并使用它时Eclipse不会出错,但是当我将项目作为Eclipse应用程序运行时,会抛出java.lang.NoClassDefFoundError:org / python / pydev / navigator / elements / PythonNode异常。

Code正试图将一个ISelection转换为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类会抛出异常,我会非常感激。据我所知,它是正确导入的,因为它在Referenced Libraries中可见。

1 个答案:

答案 0 :(得分:2)

我认为您正在构建Eclipse RCP或Eclipse插件。我是对的吗?

如果是,则应将pydev.jar放在插件依赖项下。转到plugin.xml,Runtime并将pydev.jar放在类路径中