首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >贾斯珀报告NoClassDefFoundError

贾斯珀报告NoClassDefFoundError
EN

Stack Overflow用户
提问于 2012-06-13 22:02:39
回答 3查看 4.2K关注 0票数 1

当我试图编译或运行Jasper报告时,我得到了一个NoClassDefFoundError错误。

代码语言:javascript
运行
复制
2012-06-13 14:46:26,710 ERROR [org.apache.catalina.core.ContainerBase.[jboss.web].[localhost].[/jahtest].[jahtest]] Servlet.service() for servlet jahtest threw exception
java.lang.NoClassDefFoundError: Could not initialize class net.sf.jasperreports.engine.xml.JRXmlDigesterFactory
    at net.sf.jasperreports.engine.xml.JRXmlLoader.load(JRXmlLoader.java:207)
    at net.sf.jasperreports.engine.xml.JRXmlLoader.load(JRXmlLoader.java:172)
    at net.sf.jasperreports.engine.xml.JRXmlLoader.load(JRXmlLoader.java:156)

我有一组包装在war文件中的java类,部署在JBoss默认/deploy文件夹中。我在JBoss默认的/ lib文件夹中有jasperreports 4.1.2.jar文件,所以我看不出为什么会有类路径问题,因为可以看到lib文件夹中的所有其他jars。

我的前端应用程序调用一个HTTPServlet类,然后该类使用反射来调用包含Jasper代码的类。一切正常,直到这条线被称为-

代码语言:javascript
运行
复制
JasperDesign jasperDesign = JRXmlLoader.load(strCompiledReportFile);

strCompiledReportFile正确且存在。当我在Eclipse中运行它时,这一切都有效,但在我的HTTPServlet类中调用时就不行了。

我已经到了想抛弃Jasper的地步了,因为我对它有太多的问题,所以这是最后的机会了。

为你所能提供的任何帮助干杯。

EN

回答 3

Stack Overflow用户

发布于 2012-06-13 22:19:15

我认为你遗漏了一些jasper在运行时所依赖的jars。检查这个thread,并确保类路径中也有这些jars。

票数 1
EN

Stack Overflow用户

发布于 2012-10-23 18:47:43

我不确定它是否也适用于您的情况,但我最近遇到了一个类似的问题,在加载字体失败后(“读取字体数据时出现问题”),Jasper报表会开始为它的许多类提供虚假的java.lang.NoClassDefFoundError;这个问题是由于java.awt.Font.createFont(int fontFormat, InputStream fontStream)尝试创建临时文件而失败的。错误发生在Tomcat内部,而不是Eclipse内部;发生的情况是,Tomcat自动将其JVM配置为指向其临时文件夹,而不是默认的临时文件夹,并且Tomcat的临时文件夹已被删除。

票数 0
EN

Stack Overflow用户

发布于 2018-08-08 17:13:23

如果您正在尝试将jasper与springboot应用程序集成,请检查.jrxml是否在资源文件夹中。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11016575

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档