1

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

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

代码正在尝试将 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 类会引发异常,我将不胜感激。据我所见,它已正确导入,因为它在引用的库中可见。

4

1 回答 1

2

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

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

于 2011-02-07T15:34:25.180 回答