我在尝试编译或运行 Jasper 报告时收到 NoClassDefFoundError 错误。
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 文件中并部署在 JBoss default/deploy 文件夹中的 java 类。我在 JBoss default/lib 文件夹中有 jasperreports-4.1.2.jar 文件,所以我看不到如何存在类路径问题,因为可以看到 lib 文件夹中的所有其他 jar。
我的前端应用程序调用 HTTPServlet 类,然后使用反射调用包含 Jasper 代码的类。一切正常,直到调用这条线 -
JasperDesign jasperDesign = JRXmlLoader.load(strCompiledReportFile);
strCompiledReportFile 是正确的并且存在。当我通过 Eclipse 运行它时,这一切都有效,而不是从我的 HTTPServlet 类调用时。
我正处于想要抛弃 Jasper 的地步,因为我遇到了很多问题,所以这是最后一次机会沙龙。
为您可能提供的任何帮助而欢呼。