Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/383.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java BIRT-NoClassDefFoundError_Java_Jar_Eclipse Plugin_Noclassdeffounderror_Birt - Fatal编程技术网

Java BIRT-NoClassDefFoundError

Java BIRT-NoClassDefFoundError,java,jar,eclipse-plugin,noclassdeffounderror,birt,Java,Jar,Eclipse Plugin,Noclassdeffounderror,Birt,我已经在网上搜索了一段时间,没有找到适合我的解决方案。所以,我转向你 当我尝试集成BIRT(一个用于报告和文档的eclipse插件)的API时,我遇到了一个java.lang.NoClassDefFoundError。我复制粘贴他们的代码,将所有jar文件都包含在lib文件夹(birt-runtime-4_2_2\ReportEngine\lib)中,但仍然得到NoClassDefFoundError。我做错了什么?我在他们的网页上找不到任何有用的信息。此外,我还尝试了其他一些源代码,但仍然遇到

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

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

我复制粘贴的代码(仅供试用)可在此处找到:

完整的错误消息如下:

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
线程“main”java.lang.NoClassDefFoundError中的异常:org/eclipse/core/runtime/Platform 位于org.eclipse.birt.core.framework.jar.ServicePlatform.getExtensionRegistry(ServicePlatform.java:72) 位于org.eclipse.birt.core.framework.jar.ServicePlatform.createFactoryObject(ServicePlatform.java:98) 位于org.eclipse.birt.core.framework.Platform$1.run(Platform.java:297) 位于java.security.AccessController.doPrivileged(本机方法) 位于org.eclipse.birt.core.framework.Platform.createFactoryObject(Platform.java:293) 位于org.eclipse.birt.report.model.api.DesignEngine(DesignEngine.java:90) 位于org.eclipse.birt.report.model.api.DesignEngine.newSession(DesignEngine.java:142) 位于standard.Main.Main(Main.java:36) 原因:java.lang.ClassNotFoundException:org.eclipse.core.runtime.Platform 位于java.net.URLClassLoader$1.run(未知源) 位于java.net.URLClassLoader$1.run(未知源) 位于java.security.AccessController.doPrivileged(本机方法) 位于java.net.URLClassLoader.findClass(未知源) 位于java.lang.ClassLoader.loadClass(未知源) 位于sun.misc.Launcher$AppClassLoader.loadClass(未知源) 位于java.lang.ClassLoader.loadClass(未知源) ... 8个以上
除了从Birt的jar文件中,您还必须将一些额外的jar从Birt运行时复制到Tomcat的WEB-INF文件夹中

  • 从以下链接下载Birt运行时:
  • 在Birt运行时中,您将找到一个名为ReportEngine的文件夹。在这个文件夹中有一个lib文件夹。只需将其复制到您的WEB-INF文件夹

我有一个类似的问题,这对我很有效。看看我的问题:

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