【问题标题】:Eclipse RunTime NoClassDefFoundErrorEclipse 运行时 NoClassDefFoundError
【发布时间】:2011-02-07 15:29:54
【问题描述】:

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

【问题讨论】:

  • PythonNode 是否引用了该存档中未包含在类路径中的其他类?
  • 我不知道是诚实的答案。我假设如果它是另一个未找到的类,它会出现在堆栈跟踪中。

标签: java eclipse pydev noclassdeffounderror


【解决方案1】:

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

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

【讨论】:

  • 嗨,如何将 pydev.jar 添加到类路径中?当我选择“添加”时,只显示项目文件夹结构。如何添加外部 JAR?
  • 你应该先将 .jar 复制到你的项目结构中,否则 Eclipse 不知道如何将它打包成一个插件。
猜你喜欢
  • 2012-12-22
  • 1970-01-01
  • 2011-09-27
  • 1970-01-01
  • 2011-10-09
  • 2023-04-08
  • 2011-06-18
  • 2011-04-17
  • 1970-01-01
相关资源
最近更新 更多