net.sf.jasperreports.engine.util.JRStyledTextParser上的JasperReports NoClassDefFoundError异常

Est*_*mps 27 java jasper-reports

尝试在WebLogic 11g上导出时,它会抛出NoClassDefFound异常.我检查了应用程序WAR,jasperreports-3.7.4.jar包含在WEB-INF/lib文件夹中.错误是什么?

堆栈跟踪

java.lang.NoClassDefFoundError:net/sf/jasperreports/engine/util/JRStyledTextParser at net.sf.jasperreports.engine.fill.JRBaseFiller.(JRBaseFiller.java:181)at net.sf.jasperreports.engine.fill.JRVerticalFiller. (JRVerticalFiller.java:76)at net.sf.jasperreports.engine.fill.JRVerticalFiller.(JRVerticalFiller.java:86)at net.sf.jasperreports.engine.fill.JRVerticalFiller.(JRVerticalFiller.java:56)at net. sf.jasperreports.engine.fill.JRFiller.createFiller(JRFiller.java:142)at net.sf.jasperreports.engine.fill.JRFiller.fillReport(JRFiller.java:78)at net.sf.jasperreports.engine.JasperFillManager. fillReport(JasperFillManager.java:624)在org.springframework.web.servlet.view.jasperreports.AbstractJasperReportsView.fillReport(AbstractJasperReportsView.java:676)at at

Est*_*mps 33

最后,我已经开始工作了.我检测到根Exception,它在NoClassDefFoundError之前抛出:net/sf/jasperreports/engine/util/JRStyledTextParser:

java.lang.NoClassDefFoundError: sun/awt/X11GraphicsEnvironment
Run Code Online (Sandbox Code Playgroud)

Unix和Linux上的Sun AWT课程依赖于X Window系统.当您使用这些类时,他们希望加载X客户端库并能够与X显示服务器通信.如果您的客户端有GUI,这是有意义的; 不幸的是,即使您的客户使用AWT但没有GUI(我的情况,从Web应用程序生成报告),它也是必需的

绕过这个的方法是java.awt.headless=true在系统启动时设置系统属性.

  • 有没有人在不同的机器上使用java.awt.headless = true解决方案时遇到问题?它在我们的一个部署中为我们工作,而不是在另一个部署上工作.这两个部署都使用相同的JVM版本. (2认同)