Eclipse - 运行时错误 - java.lang.NoClassDefFoundError - 无法解析

时间:2012-11-07 20:36:06

标签: java eclipse jar eclipse-plugin

以下是我已完成的步骤。

  1. 已下载PDFRenderer.jar
  2. 在Eclipse Plug-In Project中创建了lib文件夹
  3. 将jar复制到lib文件夹
  4. 右键单击构建路径 - >配置构建路径
  5. “库”标签 - >添加JAR - >选择了lib / PDFRenderder.jar文件
  6. MANIFEST.MF中的运行时选项卡

    1. 点击添加 - >选择了lib / PDFRenderder.jar
    2. 点击新建 - >新图书馆名称 - >进入。
    3. 建立项目 - 没有错误
    4. 右键单击项目

      1. 导出 - >可部署的插件和片段 - >选择我的插件项目名称
      2. 将导出的Project插件复制到我的Teamcenter / plug-ins目录
      3. 当我运行插件项目应用程序并尝试使用PDFRenderer命令访问命令时,出现以下错误。

        org.eclipse.core.runtime - org.eclipse.ui - 0 - 未处理的事件循环异常 java.lang.NoClassDefFoundError:com / sun / pdfview / PDFFile

        我知道它找不到PDFRenderer图书馆 但我不确定为什么找不上课?

        我假设将PDFRenderder.jar添加到插件项目Referenced库并将其添加到类路径中。它将PDFRenderder.jar合并到我的插件项目jar文件中。我不必将PDFRenderder.jar复制到Teamcenter / plug-ins目录吗?

        修改

        请参阅下文

        Java构建路径

        enter image description here

        二元构建

        enter image description here

        课程路径

        enter image description here

        清单

        enter image description here

        Project Jar文件

        enter image description here

        错误

        enter image description here

        第287行 - PDFFile pdffile = new PDFFile(buf);

        似乎一切都在我身上。但我必须遗漏一些东西

3 个答案:

答案 0 :(得分:1)

我相信您必须更新plugin.xml编辑器中的构建定义,以指定jar依赖项包含在导出的jar中:

  • 打开plugin.xml文件
  • 单击“构建”选项卡
  • 通过选中文件名
  • 旁边的框,选择要包含在构建中的其他文件
  • 关闭保存文件的plugin.xml编辑器。

默认情况下,只有源文件夹中的类和资源文件会自动包含在构建中。

答案 1 :(得分:0)

要解决此问题,您可以执行以下任一操作。

  1. 确保外部jar是导出jar的一部分,如Chris所述。

  2. 您可以使用classpath选项添加运行该类的第三方jar。

答案 2 :(得分:0)

我无法完成上述工作。所以我使用外部jar文件创建了一个插件。添加了插件所需的插件。将新的插件jar导出到我的目标平台。

这让我兴奋不已。

相关问题