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 が表示されるため、クラスパスの問題がどのように発生するかわかりません。
私のフロントエンド アプリは、リフレクションを使用して Jasper コードを含むクラスを呼び出す HTTPServlet クラスを呼び出します。この行が呼び出されるまで、すべてが正常に機能します-
JasperDesign jasperDesign = JRXmlLoader.load(strCompiledReportFile);
strCompiledReportFile は正しく、存在します。これはすべて、HTTPServlet クラスから呼び出された場合ではなく、Eclipse を介して実行した場合に機能します。
ジャスパーには多くの問題があったので、ジャスパーを捨てたいと思っています。これが最後のチャンスのサルーンです。
あなたが提供できるかもしれないどんな助けにも乾杯.