module and ClassNotFoundException
ndario Jun 15, 2014 2:51 PMHello,
I was struggling with setting up jasper reports 5.6.0 as a jboss module and I almost did it, but when I used barcode in report, I began to get
Caused by: java.lang.NoClassDefFoundError: org/apache/batik/dom/svg/SVGOMDocument
at net.sf.jasperreports.renderers.BatikRenderer.ensureSvg(BatikRenderer.java:203) [jasperreports-5.6.0.jar:5.6.0]
at net.sf.jasperreports.renderers.BatikRenderer.ensureSvg(BatikRenderer.java:237) [jasperreports-5.6.0.jar:5.6.0]
at net.sf.jasperreports.renderers.BatikRenderer.getDimension(BatikRenderer.java:155) [jasperreports-5.6.0.jar:5.6.0]
at net.sf.jasperreports.engine.export.JRPdfExporter.exportImage(JRPdfExporter.java:1524) [jasperreports-5.6.0.jar:5.6.0]
at net.sf.jasperreports.engine.export.JRPdfExporter.exportElements(JRPdfExporter.java:946) [jasperreports-5.6.0.jar:5.6.0]
at net.sf.jasperreports.engine.export.JRPdfExporter.exportPage(JRPdfExporter.java:909) [jasperreports-5.6.0.jar:5.6.0]
at net.sf.jasperreports.engine.export.JRPdfExporter.exportReportToStream(JRPdfExporter.java:786) [jasperreports-5.6.0.jar:5.6.0]
at net.sf.jasperreports.engine.export.JRPdfExporter.exportReport(JRPdfExporter.java:513) [jasperreports-5.6.0.jar:5.6.0]
at com.soluma.posta.service.ReportingManagerImpl.generateBarcodeStickers(ReportingManagerImpl.java:443) [SolumaPosta-ejb.jar:]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) [rt.jar:1.7.0_60]
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) [rt.jar:1.7.0_60]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) [rt.jar:1.7.0_60]
at java.lang.reflect.Method.invoke(Method.java:606) [rt.jar:1.7.0_60]
at org.jboss.as.ee.component.ManagedReferenceMethodInterceptorFactory$ManagedReferenceMethodInterceptor.processInvocation(ManagedReferenceMethodInterceptorFactory.java:72) [jboss-as-ee-7.1.3.Final.jar:7.1.3.Final]
at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288) [jboss-invocation-1.1.1.Final.jar:1.1.1.Final]
at org.jboss.invocation.WeavedInterceptor.processInvocation(WeavedInterceptor.java:53) [jboss-invocation-1.1.1.Final.jar:1.1.1.Final]
at org.jboss.as.ee.component.interceptors.UserInterceptorFactory$1.processInvocation(UserInterceptorFactory.java:36) [jboss-as-ee-7.1.3.Final.jar:7.1.3.Final]
at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288) [jboss-invocation-1.1.1.Final.jar:1.1.1.Final]
at org.jboss.as.ejb3.component.invocationmetrics.ExecutionTimeInterceptor.processInvocation(ExecutionTimeInterceptor.java:43) [jboss-as-ejb3-7.1.3.Final.jar:7.1.3.Final]
at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288) [jboss-invocation-1.1.1.Final.jar:1.1.1.Final]
at org.jboss.as.jpa.interceptor.SBInvocationInterceptor.processInvocation(SBInvocationInterceptor.java:47)
at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288) [jboss-invocation-1.1.1.Final.jar:1.1.1.Final]
at org.jboss.invocation.InitialInterceptor.processInvocation(InitialInterceptor.java:21) [jboss-invocation-1.1.1.Final.jar:1.1.1.Final]
at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288) [jboss-invocation-1.1.1.Final.jar:1.1.1.Final]
at org.jboss.invocation.ChainedInterceptor.processInvocation(ChainedInterceptor.java:61) [jboss-invocation-1.1.1.Final.jar:1.1.1.Final]
at org.jboss.as.ee.component.interceptors.ComponentDispatcherInterceptor.processInvocation(ComponentDispatcherInterceptor.java:53) [jboss-as-ee-7.1.3.Final.jar:7.1.3.Final]
at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288) [jboss-invocation-1.1.1.Final.jar:1.1.1.Final]
at org.jboss.as.ejb3.component.pool.PooledInstanceInterceptor.processInvocation(PooledInstanceInterceptor.java:51) [jboss-as-ejb3-7.1.3.Final.jar:7.1.3.Final]
at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288) [jboss-invocation-1.1.1.Final.jar:1.1.1.Final]
at org.jboss.as.ejb3.tx.CMTTxInterceptor.invokeInOurTx(CMTTxInterceptor.java:226) [jboss-as-ejb3-7.1.3.Final.jar:7.1.3.Final]
... 45 more
Caused by: java.lang.ClassNotFoundException: org.apache.batik.dom.svg.SVGOMDocument from [Module "net.sf.jasperreports:main" from local module loader @74b9121c (roots: D:\progs\jboss7.1\modules)]
at org.jboss.modules.ModuleClassLoader.findClass(ModuleClassLoader.java:190)
at org.jboss.modules.ConcurrentClassLoader.performLoadClassUnchecked(ConcurrentClassLoader.java:468)
at org.jboss.modules.ConcurrentClassLoader.performLoadClassChecked(ConcurrentClassLoader.java:456)
at org.jboss.modules.ConcurrentClassLoader.performLoadClass(ConcurrentClassLoader.java:398)
at org.jboss.modules.ConcurrentClassLoader.loadClass(ConcurrentClassLoader.java:120)
... 75 more
This class is 100% in the module and the module is configured like this.:
<module xmlns="urn:jboss:module:1.0" name="net.sf.jasperreports"> <resources> <resource-root path="jasperreports-5.6.0.jar"/> <resource-root path="barcode4j-2.1.jar"/> <resource-root path="batik-anim.jar"/> <resource-root path="batik-awt-util.jar"/> <resource-root path="batik-bridge.jar"/> <resource-root path="batik-css.jar"/> <resource-root path="batik-dom.jar"/> <resource-root path="batik-ext.jar"/> <resource-root path="batik-gvt.jar"/> <resource-root path="batik-parser.jar"/> <resource-root path="batik-script.jar"/> <resource-root path="batik-svg-dom.jar"/> <resource-root path="batik-svggen.jar"/> <resource-root path="batik-util.jar"/> <resource-root path="batik-xml.jar"/> <resource-root path="bcel-5.2.jar"/> <resource-root path="bsh-2.0b4.jar"/> <resource-root path="commons-beanutils-1.8.0.jar"/> <resource-root path="commons-collections-3.2.1.jar"/> <resource-root path="commons-digester-2.1.jar"/> <resource-root path="commons-javaflow-20060411.jar"/> <resource-root path="dom4j-1.6.1.jar"/> <resource-root path="groovy-all-2.0.1.jar"/> <resource-root path="iText-2.1.7.js2.jar"/> <resource-root path="jaxen-1.1.1.jar"/> <resource-root path="jcommon-1.0.15.jar"/> <resource-root path="jfreechart-1.0.12.jar"/> <resource-root path="jxl-2.6.10.jar"/> <resource-root path="png-encoder-1.5.jar"/> <resource-root path="velocity-1.7-dep.jar"/> </resources> <dependencies> <module name="org.apache.commons.logging" /> <module name="org.apache.xerces" /> <module name="org.apache.xalan" /> <module name="sun.jdk" /> <module name="javax.api"/> </dependencies> </module>
Can anybody please help with a suggestion? What could possibly be wrong here? All jars and classes are available, but some of them jboss is able to load and others it won't load. I just don't understand what would be general approach for modularizing if this doesn't work. I think it has to do something with xerces and xml-apis which was giving me class loading errors until I replaced it with dependencies to jboss built-in modules (line 37,38).
Thank you for any help!