-1

我正在开发一个生成pdfdoc文件的 Grails 应用程序。我正在使用 jasper reportiReport以 pdf 和 doc 格式导出报告。当我尝试下载 pdf 时,出现以下内部服务器错误:

Class: java.lang.NoClassDefFoundError
Message: Could not initialize class net.sf.jasperreports.engine.util.JRStyledTextParser.

可能是什么原因,我无法弄清楚。我在 stackoverflow 上发现了一些类似的问题,但没有一个能解决我的问题。

试图从最后一天解决这个问题,但没有取得任何成功。任何人请提供一些建议/解决方案,我对这个地方寄予厚望。

4

4 回答 4

1

基本上是这个问题:

Class: java.lang.NoClassDefFoundError
Message: Could not initialize class net.sf.jasperreports.engine.util.JRStyledTextParser.

由于答案中列出的许多因素而发生。在我的应用程序中,由于字体损坏而发生问题。当我在我的机器上添加合法字体(我的应用程序使用)的 jar 时,我的问题得到了解决。

于 2013-08-21T07:56:14.760 回答
1

类:java.lang.NoClassDefFoundError 消息

根据javadocs:

如果 Java 虚拟机或 ClassLoader 实例尝试加载类的定义(作为正常方法调用的一部分或作为使用 new 表达式创建新实例的一部分)并且找不到类的定义,则抛出此异常。

这意味着在执行期间找不到类。classpath因此,在运行程序时,您需要拥有包含此类的 jar 。

在您的情况下,我相信您缺少类路径上的net.sf.jasperreports.engine.util.JRStyledTextParserjasperreports jar,因为 , 包含在jasperreports.jar

于 2013-08-15T06:28:10.447 回答
0

您可以检查类路径中是否有所需的 jasperreports jar 吗?如果没有,将 jar 添加到类路径应该可以解决您的问题。

于 2013-08-15T06:45:05.890 回答
0
Class: java.lang.NoClassDefFoundError

基本上意味着:

编译/打包时一切正常,但在运行时找不到类(类定义)。

当您针对正确的依赖项编译代码但在运行时其中一些从类路径中丢失时,可能会发生这种情况。对于一些故障排除,您可以查看此处

于 2013-08-15T06:47:33.890 回答