The moose likes JSF and the fly likes RichFaces + JasperReport error - help Big Moose Saloon
  Search | Java FAQ | Recent Topics
Register / Login
JavaRanch » Java Forums » Java » JSF
Reply Bookmark "RichFaces + JasperReport error - help" Watch "RichFaces + JasperReport error - help" New topic
Author

RichFaces + JasperReport error - help

Jose Araya
Greenhorn

Joined: Apr 14, 2010
Posts: 7
Hi...

I'm trying to show a report in a Java web application.

I'm using:
J2EE 6
RichFaces 4.0
GlassFish 3
JasperReports 4.1.3

I'm getting the data from an oracle DB

The application executes the stored procedure and it gets the data, that part is ok, but I'm having some troubles when I try to show my report, it doesn't work. I'm getting the next message:

An Error Occurred:
java.lang.NoClassDefFoundError: Could not initialize class net.sf.jasperreports.extensions.ExtensionsEnvironment

The stack trace
javax.faces.el.EvaluationException: java.lang.NoClassDefFoundError: Could not initialize class net.sf.jasperreports.extensions.ExtensionsEnvironment
at javax.faces.component.MethodBindingMethodExpressionAdapter.invoke(MethodBindingMethodExpressionAdapter.java:102)
at com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:102)
at javax.faces.component.UICommand.broadcast(UICommand.java:315)
at javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:775)
at javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:1267)
at com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:82)
at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101)
at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:118)
at javax.faces.webapp.FacesServlet.service(FacesServlet.java:312)
at org.apache.catalina.core.StandardWrapper.service(StandardWrapper.java:1523)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:279)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:188)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:641)
at com.sun.enterprise.web.WebPipeline.invoke(WebPipeline.java:97)
at com.sun.enterprise.web.PESessionLockingStandardPipeline.invoke(PESessionLockingStandardPipeline.java:85)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:185)
at org.apache.catalina.connector.CoyoteAdapter.doService(CoyoteAdapter.java:325)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:226)
at com.sun.enterprise.v3.services.impl.ContainerMapper.service(ContainerMapper.java:165)
at com.sun.grizzly.http.ProcessorTask.invokeAdapter(ProcessorTask.java:791)
at com.sun.grizzly.http.ProcessorTask.doProcess(ProcessorTask.java:693)
at com.sun.grizzly.http.ProcessorTask.process(ProcessorTask.java:954)
at com.sun.grizzly.http.DefaultProtocolFilter.execute(DefaultProtocolFilter.java:170)
at com.sun.grizzly.DefaultProtocolChain.executeProtocolFilter(DefaultProtocolChain.java:135)
at com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:102)
at com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:88)
at com.sun.grizzly.http.HttpProtocolChain.execute(HttpProtocolChain.java:76)
at com.sun.grizzly.ProtocolChainContextTask.doCall(ProtocolChainContextTask.java:53)
at com.sun.grizzly.SelectionKeyContextTask.call(SelectionKeyContextTask.java:57)
at com.sun.grizzly.ContextTask.run(ContextTask.java:69)
at com.sun.grizzly.util.AbstractThreadPool$Worker.doWork(AbstractThreadPool.java:330)
at com.sun.grizzly.util.AbstractThreadPool$Worker.run(AbstractThreadPool.java:309)
at java.lang.Thread.run(Thread.java:619)
Caused by: java.lang.NoClassDefFoundError: Could not initialize class net.sf.jasperreports.extensions.ExtensionsEnvironment
at net.sf.jasperreports.repo.RepositoryUtil.getRepositoryServices(RepositoryUtil.java:57)
at net.sf.jasperreports.repo.RepositoryUtil.revertRepositoryContext(RepositoryUtil.java:109)
at net.sf.jasperreports.engine.JRAbstractExporter.resetExportContext(JRAbstractExporter.java:797)
at net.sf.jasperreports.engine.export.JRPdfExporter.exportReport(JRPdfExporter.java:407)
at net.sf.jasperreports.engine.JasperExportManager.exportReportToPdf(JasperExportManager.java:184)
at batcca.enablers.reportes.GeneradorReportes.generarReportePdf(GeneradorReportes.java:91)
at batcca.enablers.web.beans.BReporte.generarReporte(BReporte.java:61)
at batcca.enablers.web.beans.BReporte.visualizarReporte(BReporte.java:42)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at com.sun.el.parser.AstValue.invoke(AstValue.java:234)
at com.sun.el.MethodExpressionImpl.invoke(MethodExpressionImpl.java:297)
at com.sun.faces.facelets.el.TagMethodExpression.invoke(TagMethodExpression.java:98)
at javax.faces.component.MethodBindingMethodExpressionAdapter.invoke(MethodBindingMethodExpressionAdapter.java:88)
... 32 more

My code is written in this way:

/**
* Construye un reporte en formato PDF y retorna su contenido en un arreglo
* de bytes.
* @param fechaInicio
* @param fechaFinal
* @param codigoUsuario
* @param codigoPdv
* @param codigoPais
* @param codigoArea
* @param codigoTerritorio
* @param codigoRuta
* @param codigoTipo
* @param codigoSubtipo
* @param codigoCanal
* @return
*/
public byte[] generarReportePdf(
Date fechaInicio,
Date fechaFinal,
int codigoUsuario,
String codigoPdv,
String codigoPais,
String codigoArea,
String codigoTerritorio,
String codigoRuta,
String codigoTipo,
String codigoSubtipo,
String codigoCanal) {
byte[] archivo = null;

JasperPrint jasperPrint = null;

try {
ArrayList<RegistroReporteMerchandising> resultado =
this.getReporteDA().getRegistrosReporteMerchandising(
fechaInicio,
fechaFinal,
codigoUsuario,
codigoPdv,
codigoPais,
codigoArea,
codigoTerritorio,
codigoRuta,
codigoTipo,
codigoSubtipo,
codigoCanal);
if (this.getReporteDA().getEsValida()) {

HashMap map = new HashMap();

String reporte = Configuracion.getValor(Constantes.V_RUTA_REPORTE_MERCH);
JRBeanCollectionDataSource jrbc = new JRBeanCollectionDataSource(resultado);
jasperPrint = JasperFillManager.fillReport(reporte, map, jrbc);
archivo = JasperExportManager.exportReportToPdf(jasperPrint);
}
} catch (Exception ex) {
ex.printStackTrace();
this.registrarError(Constantes.ERROR_REPORTE_MERCH, ex.getMessage());
} finally {
return archivo;
}
}

That is my trouble, and I need some help.

Thanks.

Regards,

Jose Araya.
 
IntelliJ Java IDE
 
subject: RichFaces + JasperReport error - help
 
Threads others viewed
Connection Multiple Databases with diynamically persistence unit names
Oracle connection through a JSF ManageBean
problem with using idbags in Hibernate, which gives persistenceException etc. Help please. Thanks!
Method not found
Target Unreachable, 'null' returned null
WebSphere development made easy
without the weight of IBM tools
http://www.myeclipseide.com