Erro iReport - RESOLVIDO

6 respostas
D

Bom dia pessoal, hj me deparei com um erro que não sei o pq ... tenho 2 aplicações ... e utilizo relatorio utilizando o iReport.
Em uma funfa que é uma blz ... porem na outra ocorre o erro da imagem em anexo.
Tentei utilizar o Attach Source ... mesmo assim não funfou ...

Segue meu codigo

package lojanet.ManagedBeans;

import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;

import javax.faces.bean.ManagedBean;
import javax.faces.bean.ViewScoped;
import javax.faces.context.FacesContext;
import javax.servlet.ServletContext;
import javax.servlet.ServletOutputStream;
import javax.servlet.http.HttpServletResponse;

import lojanet.controle.ControleFactory;
import lojanet.entidades.Loja;

import org.primefaces.model.DefaultStreamedContent;
import org.primefaces.model.StreamedContent;

import net.sf.jasperreports.engine.JRException;
import net.sf.jasperreports.engine.JRExporter;
import net.sf.jasperreports.engine.JRExporterParameter;
import net.sf.jasperreports.engine.JasperFillManager;
import net.sf.jasperreports.engine.JasperPrint;
import net.sf.jasperreports.engine.data.JRBeanCollectionDataSource;
import net.sf.jasperreports.engine.export.JRPdfExporter;

@ViewScoped
@ManagedBean(name = "relvendaBean")
public class RelVendasBean {

	public StreamedContent getSampleReportPDF() {

		InputStream relatorio = null;

		try {

			ByteArrayOutputStream out = new ByteArrayOutputStream();

			InputStream stream = ((ServletContext) FacesContext
					.getCurrentInstance().getExternalContext().getContext())
					.getResourceAsStream("/relatorios/relVendas.jasper");

			List<Loja> listaAlunos = new ArrayList<Loja>();

			listaAlunos = ControleFactory.getInstance().getLojaControle().lstLoja();

			JRBeanCollectionDataSource datasource = new JRBeanCollectionDataSource(
					listaAlunos);
			HashMap<String, Object> params = new HashMap<String, Object>();
			JasperPrint print = JasperFillManager.fillReport(stream, params,
					datasource);

			JRExporter exporter = new net.sf.jasperreports.engine.export.JRPdfExporter();

			exporter.setParameter(JRExporterParameter.JASPER_PRINT, print);
			exporter.setParameter(JRExporterParameter.OUTPUT_STREAM, out);
			exporter.exportReport();

			relatorio = new ByteArrayInputStream(out.toByteArray());

		} catch (JRException ex) {
			ex.printStackTrace();
		}

		return new DefaultStreamedContent(relatorio);
	}

	public void imprimeRelatorio() throws IOException, SQLException {

		List<Loja> listaAlunos = new ArrayList<Loja>();

		listaAlunos = ControleFactory.getInstance().getLojaControle().lstLoja();

		JRBeanCollectionDataSource ds = new JRBeanCollectionDataSource(
				listaAlunos);

		@SuppressWarnings("rawtypes")
		HashMap parameters = new HashMap();

		try {

			FacesContext facesContext = FacesContext.getCurrentInstance();

			facesContext.responseComplete();

			ServletContext scontext = (ServletContext) facesContext
					.getExternalContext().getContext();

			@SuppressWarnings("unchecked")
			JasperPrint jasperPrint = JasperFillManager.fillReport(
					scontext.getRealPath("/relatorios/relVendas.jasper"), parameters,
					ds);

			ByteArrayOutputStream baos = new ByteArrayOutputStream();

			JRPdfExporter exporter = new JRPdfExporter();

			exporter.setParameter(JRExporterParameter.JASPER_PRINT, jasperPrint);

			exporter.setParameter(JRExporterParameter.OUTPUT_STREAM, baos);

			exporter.exportReport();

			byte[] bytes = baos.toByteArray();

			if (bytes != null && bytes.length > 0) {

				HttpServletResponse response = (HttpServletResponse) facesContext
						.getExternalContext().getResponse();

				response.setContentType("application/pdf");

				response.setHeader("Content-disposition",
						"inline; filename=\"relatorioPorData.pdf\"");

				response.setContentLength(bytes.length);

				ServletOutputStream outputStream = response.getOutputStream();

				outputStream.write(bytes, 0, bytes.length);

				outputStream.flush();

				outputStream.close();

			}

		} catch (Exception e) {

			e.printStackTrace();

		}

	}

}
E abaixo a imagem em anexo. Vlwww pessoal.

6 Respostas

M

Cara, tem como postar o stacktrace ?

D

Opa … para mandei em anexo para não ficar muito grande na pagina, segue abaixo tb o erro no tomcat.

vlwwww

[]s

Erro tomcat

<blockquote>Mar 26, 2013 11:15:37 AM com.sun.faces.lifecycle.InvokeApplicationPhase execute

WARNING: /relvendas.xhtml @23,50 value="#{relvendaBean.sampleReportPDF}": Error reading sampleReportPDF on type lojanet.ManagedBeans.RelVendasBean

javax.el.ELException: /relvendas.xhtml @23,50 value="#{relvendaBean.sampleReportPDF}": Error reading sampleReportPDF on type lojanet.ManagedBeans.RelVendasBean

at com.sun.faces.facelets.el.TagValueExpression.getValue(TagValueExpression.java:114)

at org.primefaces.component.filedownload.FileDownloadActionListener.processAction(FileDownloadActionListener.java:52)

at javax.faces.event.ActionEvent.processListener(ActionEvent.java:88)

at javax.faces.component.UIComponentBase.broadcast(UIComponentBase.java:769)

at javax.faces.component.UICommand.broadcast(UICommand.java:300)

at javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:794)

at javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:1259)

at com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:81)

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:593)

at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)

at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)

at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222)

at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123)

at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)

at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171)

at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99)

at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:936)

at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)

at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407)

at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1004)

at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:589)

at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:312)

at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)

at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)

at java.lang.Thread.run(Unknown Source)

Caused by: java.lang.NoClassDefFoundError: org/codehaus/groovy/control/CompilationFailedException

at java.lang.Class.getDeclaredConstructors0(Native Method)

at java.lang.Class.privateGetDeclaredConstructors(Unknown Source)

at java.lang.Class.getConstructor0(Unknown Source)

at java.lang.Class.getConstructor(Unknown Source)

at net.sf.jasperreports.engine.JasperCompileManager.getCompiler(JasperCompileManager.java:690)

at net.sf.jasperreports.engine.JasperCompileManager.getEvaluator(JasperCompileManager.java:263)

at net.sf.jasperreports.engine.fill.JRFillDataset.createCalculator(JRFillDataset.java:457)

at net.sf.jasperreports.engine.fill.JRBaseFiller.(JRBaseFiller.java:379)

at net.sf.jasperreports.engine.fill.JRVerticalFiller.(JRVerticalFiller.java:88)

at net.sf.jasperreports.engine.fill.JRVerticalFiller.(JRVerticalFiller.java:103)

at net.sf.jasperreports.engine.fill.JRVerticalFiller.(JRVerticalFiller.java:61)

at net.sf.jasperreports.engine.fill.JRFiller.createFiller(JRFiller.java:153)

at net.sf.jasperreports.engine.fill.JRFiller.fill(JRFiller.java:82)

at net.sf.jasperreports.engine.JasperFillManager.fill(JasperFillManager.java:653)

at net.sf.jasperreports.engine.JasperFillManager.fill(JasperFillManager.java:634)

at net.sf.jasperreports.engine.JasperFillManager.fillReport(JasperFillManager.java:956)

at lojanet.ManagedBeans.RelVendasBean.getSampleReportPDF(RelVendasBean.java:56)

at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)

at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)

at java.lang.reflect.Method.invoke(Unknown Source)

at javax.el.BeanELResolver.getValue(BeanELResolver.java:87)

at com.sun.faces.el.DemuxCompositeELResolver._getValue(DemuxCompositeELResolver.java:176)

at com.sun.faces.el.DemuxCompositeELResolver.getValue(DemuxCompositeELResolver.java:203)

at org.apache.el.parser.AstValue.getValue(AstValue.java:183)

at org.apache.el.ValueExpressionImpl.getValue(ValueExpressionImpl.java:185)

at com.sun.faces.facelets.el.TagValueExpression.getValue(TagValueExpression.java:109)

 26 more

Caused by: java.lang.ClassNotFoundException: org.codehaus.groovy.control.CompilationFailedException

at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1714)

at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1559)

 53 more
Mar 26, 2013 11:15:37 AM org.apache.catalina.core.StandardWrapperValve invoke

SEVERE: Servlet.service() for servlet [Faces Servlet] in context with path [/lojanet] threw exception [org/codehaus/groovy/control/CompilationFailedException] with root cause

java.lang.ClassNotFoundException: org.codehaus.groovy.control.CompilationFailedException

at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1714)

at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1559)

at java.lang.Class.getDeclaredConstructors0(Native Method)

at java.lang.Class.privateGetDeclaredConstructors(Unknown Source)

at java.lang.Class.getConstructor0(Unknown Source)

at java.lang.Class.getConstructor(Unknown Source)

at net.sf.jasperreports.engine.JasperCompileManager.getCompiler(JasperCompileManager.java:690)

at net.sf.jasperreports.engine.JasperCompileManager.getEvaluator(JasperCompileManager.java:263)

at net.sf.jasperreports.engine.fill.JRFillDataset.createCalculator(JRFillDataset.java:457)

at net.sf.jasperreports.engine.fill.JRBaseFiller.(JRBaseFiller.java:379)

at net.sf.jasperreports.engine.fill.JRVerticalFiller.(JRVerticalFiller.java:88)

at net.sf.jasperreports.engine.fill.JRVerticalFiller.(JRVerticalFiller.java:103)

at net.sf.jasperreports.engine.fill.JRVerticalFiller.(JRVerticalFiller.java:61)

at net.sf.jasperreports.engine.fill.JRFiller.createFiller(JRFiller.java:153)

at net.sf.jasperreports.engine.fill.JRFiller.fill(JRFiller.java:82)

at net.sf.jasperreports.engine.JasperFillManager.fill(JasperFillManager.java:653)

at net.sf.jasperreports.engine.JasperFillManager.fill(JasperFillManager.java:634)

at net.sf.jasperreports.engine.JasperFillManager.fillReport(JasperFillManager.java:956)

at lojanet.ManagedBeans.RelVendasBean.getSampleReportPDF(RelVendasBean.java:56)

at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)

at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)

at java.lang.reflect.Method.invoke(Unknown Source)

at javax.el.BeanELResolver.getValue(BeanELResolver.java:87)

at com.sun.faces.el.DemuxCompositeELResolver._getValue(DemuxCompositeELResolver.java:176)

at com.sun.faces.el.DemuxCompositeELResolver.getValue(DemuxCompositeELResolver.java:203)

at org.apache.el.parser.AstValue.getValue(AstValue.java:183)

at org.apache.el.ValueExpressionImpl.getValue(ValueExpressionImpl.java:185)

at com.sun.faces.facelets.el.TagValueExpression.getValue(TagValueExpression.java:109)

at org.primefaces.component.filedownload.FileDownloadActionListener.processAction(FileDownloadActionListener.java:52)

at javax.faces.event.ActionEvent.processListener(ActionEvent.java:88)

at javax.faces.component.UIComponentBase.broadcast(UIComponentBase.java:769)

at javax.faces.component.UICommand.broadcast(UICommand.java:300)

at javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:794)

at javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:1259)

at com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:81)

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:593)

at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)

at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)

at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222)

at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123)

at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)

at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171)

at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99)

at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:936)

at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)

at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407)

at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1004)

at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:589)

at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:312)

at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)

at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)

at java.lang.Thread.run(Unknown Source)</blockquote>
M

Entendi, você está usando o Groovy, Talvez de mudar para Java resolve seu problema.
Mas se quiser usar o Goovy mesmo, tem que adicionar o groovy.jar no classpath da aplicação.

Seu erro foi esse.

D

Putzzz que vacilo meu hehe …
Vlwww Murilo … abração cara

M

Artigo util sobre configurar Java ou Groovy.

http://community.jaspersoft.com/wiki/ireport-designer-groovy

D

Show … muito obrigado Murilo … estou vendo o material =)
Aqui no caso foi vacilo meu … havia esquecido de mudar … esta funfando agora =)
Mais uma vez muito obrigado.

Abração

Criado 26 de março de 2013
Ultima resposta 26 de mar. de 2013
Respostas 6
Participantes 2