BIRT NoClassDefFoundError

时间:2013-05-17 11:46:26

标签: java jar eclipse-plugin noclassdeffounderror birt

我一直在网上搜索一段时间,但找不到任何解决方案。所以,我转向你。

当我尝试集成BIRT的API(报告和文档的eclipse插件)时,我得到了一个java.lang.NoClassDefFoundError。我复制粘贴他们的代码,包括lib文件夹中的所有jar文件(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

1 个答案:

答案 0 :(得分:2)

除了Birt的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