我已经在网上搜索了一段时间,但没有找到适合我的解决方案。所以,我转向你。
当我尝试集成 BIRT(用于报告和文档的 Eclipse 插件)的 API 时,我得到一个 java.lang.NoClassDefFoundError。我复制粘贴他们的代码,在 lib 文件夹 (birt-runtime-4_2_2\ReportEngine\lib) 中包含所有 jar 文件,但我仍然得到 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