【问题标题】:BIRT NoClassDefFoundErrorBIRT NoClassDefFoundError
【发布时间】:2013-05-17 11:46:25
【问题描述】:

我已经在网上搜索了一段时间,但没有找到适合我的解决方案。所以,我转向你。

当我尝试集成 BIRT(用于报告和文档的 Eclipse 插件)的 API 时,我得到一个 java.lang.NoClassDefFoundError。我复制粘贴他们的代码,将所有 jar 文件包含在 lib 文件夹(birt-runtime-4_2_2\ReportEngine\lib)中,但我仍然得到 NoClassDefFoundError。我究竟做错了什么?我在他们的页面上找不到任何有用的信息。此外,我已经尝试了其他几个源代码,但我仍然遇到同样的问题。所以我认为 jar 文件的导入可能有问题。但看在上帝的份上,我无法找出问题所在。

我复制粘贴的代码(只是为了试用)可以在这里找到: http://wiki.eclipse.org/Java_-_Simple_Design_Engine_API_%28BIRT%29

完整的错误信息是这样的:

Exception in thread "main" java.lang.NoClassDefFoundError: org/eclipse/core/runtime/Platform
    at org.eclipse.birt.core.framework.jar.ServicePlatform.getExtensionRegistry(ServicePlatform.java:72)
    at org.eclipse.birt.core.framework.jar.ServicePlatform.createFactoryObject(ServicePlatform.java:98)
    at org.eclipse.birt.core.framework.Platform$1.run(Platform.java:297)
    at java.security.AccessController.doPrivileged(Native Method)
    at org.eclipse.birt.core.framework.Platform.createFactoryObject(Platform.java:293)
    at org.eclipse.birt.report.model.api.DesignEngine.<init>(DesignEngine.java:90)
    at org.eclipse.birt.report.model.api.DesignEngine.newSession(DesignEngine.java:142)
    at standard.Main.main(Main.java:36)
Caused by: java.lang.ClassNotFoundException: org.eclipse.core.runtime.Platform
    at java.net.URLClassLoader$1.run(Unknown Source)
    at java.net.URLClassLoader$1.run(Unknown Source)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    ... 8 more

【问题讨论】:

  • 刚刚发现了一些有趣的东西。稍后将对其进行测试并发表评论
  • 不,原来是死路一条。感谢所有帮助!
  • 你是如何运行你的应用程序的?我使用的过程是右键单击我的项目并选择“运行方式”菜单,然后选择“Eclipse 应用程序”。如果您作为常规 java 应用程序运行,则不会将 eclipse 库添加到类路径中。
  • 这绝对是值得注意的。感谢您的帮助。我最终使用了插件视图并将 jar 作为源项目导入。然后,在构建路径设置中,我将它链接到该项目,现在它似乎可以工作了。我在这里和那里得到一些空值,但“NoClassDeffFoundError”类型也不例外。希望这对其他人有帮助^^

标签: java jar eclipse-plugin noclassdeffounderror birt


【解决方案1】:

除了 Birt 的 jar 文件,您还必须将一些额外的 jar 从 Birt Runtime 复制到 Tomcat 的 WEB-INF 文件夹。

  • 从以下链接下载 Birt Runtime:http://download.eclipse.org/birt/downloads/
  • 在 Birt Runtime 中,您会找到一个名为 ReportEngine 的文件夹。在这个文件夹中有一个 lib 文件夹。只需将其复制到您的 WEB-INF 文件夹即可。

我遇到了类似的问题,它对我有用。看看我的问题:NoClassDefFoundError for Birt Class EngineException

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-10-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多