我在尝试使用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中可见。
答案 0 :(得分:2)
我认为您正在构建Eclipse RCP或Eclipse插件。我是对的吗?
如果是,则应将pydev.jar放在插件依赖项下。转到plugin.xml,Runtime并将pydev.jar放在类路径中