Problema com Download vRaptor

5 respostas
E

Estou desenvolvendo um sistema de Downlaod para um arquivo PDF com vRator e esta aparecendo o seguinte erro

Dez 10, 2011 9:22:16 AM org.apache.catalina.core.StandardWrapperValve invoke
Grave: Servlet.service() for servlet [default] in context with path [/GlobalGeophysicalServices] threw exception [Filter execution threw an exception] with root cause
java.lang.ClassNotFoundException: org.apache.commons.io.IOUtils
	at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1688)
	at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1533)
	at br.com.caelum.vraptor.interceptor.download.InputStreamDownload.write(InputStreamDownload.java:58)
	at br.com.caelum.vraptor.interceptor.download.FileDownload.write(FileDownload.java:54)
	at br.com.caelum.vraptor.interceptor.download.DownloadInterceptor.intercept(DownloadInterceptor.java:92)
	at br.com.caelum.vraptor.core.LazyInterceptorHandler.execute(LazyInterceptorHandler.java:59)
	at br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:53)
	at br.com.caelum.vraptor.interceptor.OutjectResult.intercept(OutjectResult.java:65)
	at br.com.caelum.vraptor.core.LazyInterceptorHandler.execute(LazyInterceptorHandler.java:59)
	at br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:53)
	at br.com.caelum.vraptor.interceptor.ExecuteMethodInterceptor.intercept(ExecuteMethodInterceptor.java:75)
	at br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.execute(ToInstantiateInterceptorHandler.java:54)
	at br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:53)
	at br.com.caelum.vraptor.interceptor.ExceptionHandlerInterceptor.intercept(ExceptionHandlerInterceptor.java:69)
	at br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.execute(ToInstantiateInterceptorHandler.java:54)
	at br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:53)
	at br.com.caelum.vraptor.core.LazyInterceptorHandler.execute(LazyInterceptorHandler.java:61)
	at br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:53)
	at br.com.caelum.vraptor.core.LazyInterceptorHandler.execute(LazyInterceptorHandler.java:61)
	at br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:53)
	at br.com.caelum.vraptor.interceptor.InstantiateInterceptor.intercept(InstantiateInterceptor.java:42)
	at br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.execute(ToInstantiateInterceptorHandler.java:54)
	at br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:53)
	at br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.execute(ToInstantiateInterceptorHandler.java:56)
	at br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:53)
	at br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.execute(ToInstantiateInterceptorHandler.java:56)
	at br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:53)
	at br.com.caelum.vraptor.util.hibernate.HibernateTransactionInterceptor.intercept(HibernateTransactionInterceptor.java:45)
	at br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.execute(ToInstantiateInterceptorHandler.java:54)
	at br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:53)
	at br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.execute(ToInstantiateInterceptorHandler.java:56)
	at br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:53)
	at br.com.caelum.vraptor.interceptor.InterceptorListPriorToExecutionExtractor.intercept(InterceptorListPriorToExecutionExtractor.java:44)
	at br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.execute(ToInstantiateInterceptorHandler.java:54)
	at br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:53)
	at br.com.caelum.vraptor.interceptor.FlashInterceptor.intercept(FlashInterceptor.java:81)
	at br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.execute(ToInstantiateInterceptorHandler.java:54)
	at br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:53)
	at br.com.caelum.vraptor.interceptor.ResourceLookupInterceptor.intercept(ResourceLookupInterceptor.java:67)
	at br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.execute(ToInstantiateInterceptorHandler.java:54)
	at br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:53)
	at br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.execute(ToInstantiateInterceptorHandler.java:56)
	at br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:53)
	at br.com.caelum.vraptor.core.DefaultRequestExecution.execute(DefaultRequestExecution.java:70)
	at br.com.caelum.vraptor.VRaptor$1.insideRequest(VRaptor.java:92)
	at br.com.caelum.vraptor.ioc.spring.SpringProvider.provideForRequest(SpringProvider.java:56)
	at br.com.caelum.vraptor.VRaptor.doFilter(VRaptor.java:89)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:224)
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:169)
	at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:168)
	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:98)
	at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:928)
	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:987)
	at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:539)
	at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:300)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
	at java.lang.Thread.run(Unknown Source)

e o código que gera o erro é o seguinte

@Restrito
	public Download consumo_setores() throws DocumentException, MalformedURLException, IOException
	{
	List<Setor> setores = setDao.listaSetor();
	// criando um objeto da classe Document
	        Document documento = new Document();
	        
	        String diretorio = "C:\\";
	        
	       
	            //Aqui começamos a utilizar as classes do iText: o documento
	            //criado acima será     
	            //direcionado para um arquivo PDF.         
	    
	        PdfWriter.getInstance(documento, new FileOutputStream(diretorio+"consumo_setor.pdf"));
	            
	            //abrindo o documento.
	            documento.open();
	            SimpleDateFormat formatador = new SimpleDateFormat("dd/MM/yyyy");
	            DecimalFormat df = new DecimalFormat("0.00");
	            
	            //adicionando no arquivo PDF. 
	            Paragraph p20 = new Paragraph("Consumo por Setor");
	            p20.setAlignment(Element.ALIGN_CENTER);
	            p20.setSpacingAfter(20);
	            documento.add(p20);
	            
	            Image figura = Image.getInstance(diretorio+"global.jpg");
	            documento.add(figura);
	           
	            //String data = formatador.format(cliente.getDtNascimento());
	            
	           
	            
	            
	            
	            for(int i = 0; i < setores.size(); i++){
	            Paragraph pi = new Paragraph(setores.get(i).getDescricao());
	            
	            PdfPTable table = new PdfPTable(5);
	            PdfPCell header = new PdfPCell();
	            
	            header.setColspan(5);
	            table.addCell("Item");
	            table.addCell("Descrição");
	            table.addCell("Quantidade");
	            table.addCell("Unidade");
	            table.addCell("Data");
	            
	            List<TranzacaoProduto> tps = tpDao.listaTranzacaoPorSetor(setores.get(i).getIdSetor());
	            
	            
	            
	            for(int a=0; a < tps.size(); a++){
	           
	            
	            header.setColspan(5);
	            table.addCell(""+(a+1));
	            table.addCell(tps.get(a).getProduto().getDescricao());
	            table.addCell(""+tps.get(a).getQuantidade());
	            table.addCell(tps.get(a).getUnidade().getDescricao());
	            table.addCell(""+formatador.format(tps.get(a).getTranzacao().getDtTranzacao()));
	            
	            
	            
	            }//fim do for i2
	            pi.setAlignment(Element.ALIGN_CENTER);
	            pi.setSpacingAfter(20);
	            documento.add(pi);
	            documento.add(table);
	            }//fim do for i
	           
	            documento.close();
	           
	            File pdf = new File(diretorio+"consumo_setor.pdf");  
	    
	            return new FileDownload(pdf, "application/pdf");
	           
	            
	    }

Se alguem puder me ajudar agradeco…

5 Respostas

Aleksandro

Acredito que o problema esteja na falta do jar …

Verifica na lib do tomcat se tem este jar :

org.apache.commons.io.IOUtils

é ele que esta faltando …

E

Baixei o zip do tomcat e não tem esse jar na lib nao

Aleksandro

Baixe o jar aqui …

http://commons.apache.org/io/

Pegue a última versão 2.1 e coloca na pasta lib do tomcat…

Lucas_Cavalcanti

não coloque no lib do tomcat, coloque na lib da sua aplicação

E

Obrigado, deu certo aqui, coloquei direto no tomcat, mas acho q arrumar na lib da aplicação uma melhor opção.

Mas o que valeu é que funcionou, muito obrigado a todos que me ajudaram…

:slight_smile:

Criado 10 de dezembro de 2011
Ultima resposta 10 de dez. de 2011
Respostas 5
Participantes 3