Relatorio no JasperReport - NÃO ENCONTRA .jasper [RESOLVIDO]

9 respostas
L

Ola pessoal

No meu computador funciona 100% !!!
Mas na web da pau !!!

Será problema no host ??

Como resolvo esse problema ???

Agradeço a todos !!!

----------------------- erro abaixo ----------------------------
HTTP Status 500 -

type Exception report

message

description The server encountered an internal error () that prevented it from fulfilling this request.

exception

org.apache.jasper.JasperException: javax.servlet.ServletException: net.sf.jasperreports.engine.JRException: Class not found when loading object from file : /pastas/public_html/x/cadastros/cf/relatorio/teste1.jasper

org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:541)

org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:417)

org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:320)

org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266)

javax.servlet.http.HttpServlet.service(HttpServlet.java:803)

root cause

javax.servlet.ServletException: net.sf.jasperreports.engine.JRException: Class not found when loading object from file : /pastas/public_html/x/cadastros/cf/relatorio/teste1.jasper

org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:850)

org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:779)

org.apache.jsp.cadastros.cf.openReport_jsp._jspService(openReport_jsp.java:128)

org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)

javax.servlet.http.HttpServlet.service(HttpServlet.java:803)

org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:393)

org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:320)

org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266)

javax.servlet.http.HttpServlet.service(HttpServlet.java:803)

root cause

net.sf.jasperreports.engine.JRException: Class not found when loading object from file : /pastas/public_html/x/cadastros/cf/relatorio/teste1.jasper

net.sf.jasperreports.engine.util.JRLoader.loadObject(JRLoader.java:96)

net.sf.jasperreports.engine.JasperFillManager.fillReport(JasperFillManager.java:232)

net.sf.jasperreports.engine.JasperRunManager.runReportToPdf(JasperRunManager.java:203)

org.apache.jsp.cadastros.cf.openReport_jsp._jspService(openReport_jsp.java:99)

org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)

javax.servlet.http.HttpServlet.service(HttpServlet.java:803)

org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:393)

org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:320)

org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266)

javax.servlet.http.HttpServlet.service(HttpServlet.java:803)

root cause

java.lang.ClassNotFoundException: org.apache.commons.collections.SequencedHashMap

org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1358)

org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1204)

java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)

java.lang.Class.forName0(Native Method)

java.lang.Class.forName(Class.java:242)

java.io.ObjectInputStream.resolveClass(ObjectInputStream.java:585)

java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1544)

java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1466)

java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1699)

java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1305)

java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1908)

java.io.ObjectInputStream.defaultReadObject(ObjectInputStream.java:479)

net.sf.jasperreports.engine.JRPropertiesMap.readObject(JRPropertiesMap.java:180)

sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)

sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)

java.lang.reflect.Method.invoke(Method.java:585)

java.io.ObjectStreamClass.invokeReadObject(ObjectStreamClass.java:946)

java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1809)

java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1719)

java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1305)

java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1908)

java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1832)

java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1719)

java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1305)

java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1908)

java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1832)

java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1719)

java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1305)

java.io.ObjectInputStream.readObject(ObjectInputStream.java:348)

net.sf.jasperreports.engine.util.JRLoader.loadObject(JRLoader.java:88)

net.sf.jasperreports.engine.JasperFillManager.fillReport(JasperFillManager.java:232)

net.sf.jasperreports.engine.JasperRunManager.runReportToPdf(JasperRunManager.java:203)

org.apache.jsp.cadastros.cf.openReport_jsp._jspService(openReport_jsp.java:99)

org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)

javax.servlet.http.HttpServlet.service(HttpServlet.java:803)

org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:393)

org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:320)

org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266)

javax.servlet.http.HttpServlet.service(HttpServlet.java:803)

note The full stack trace of the root cause is available in the Apache Tomcat/6.0.14 logs.

9 Respostas

C

Bom dia, amigo, não se pode ser isso porque não vi seu codigo fonte, mas a ideia é a seguinte:

Voce deve capturar o caminho começando pelo contexto da sua aplicação e em seguida apontar para a pasta onde está o relatorio compilado (.jasper) como por exemplo:

String pathJasper = getServletContext().getRealPath("/cadastros/cf/relatorio") + "/teste1.jasper ";

Só pra garantir, verifique, apos fazer o deploy que o seu .jasper esteja dentro do diretório apontado.

Sucesso.

L

Ola christianovale

Valeu a força …

Estou mostrando o codigo fonte para voce se posicionar melhor !!!

Coloquei a barra, mas o erro continua !
será que coloquei errado ?

Agradeço muito a ajuda !!!


//---------- ERA String rootDir = getServletContext().getRealPath(“cadastros/cf/relatorio”);

String rootDir = getServletContext().getRealPath("/cadastros/cf/relatorio");

java.util.Map parameters = new HashMap();

parameters.put(rootDir, rootDir+ java.io.File.separator);

//---------- ERA String reportFilename = rootDir + java.io.File.separator + “teste1.jasper”;

String reportFilename = rootDir + java.io.File.separator + "/teste1.jasper ";

Atenciosamente
Lindberg

C
//---------- ERA String reportFilename = rootDir + java.io.File.separator + "teste1.jasper";

String reportFilename = rootDir + java.io.File.separator + "/teste1.jasper ";

Acho que voce comentou a linha que estava correta. Voce já usou um separator e colocou mais uma barra "/teste1.jasper".

Repare se no log de erro, o endereço que ele diz não ter encontrado, contem duas barras ("//teste1.jasper").

Agora, isso aí é só uma qustão de voce acertar o endereço do seu .jasper mesmo.

Experimente colocar seus relatorios compilados (.jasper) dentro da pasta WEB-INF da sua aplicação. Algo como /WEB-INF/relatorios

Abraços.

Sucesso.

L

OK, Christiano Vale

Estou inciando os teste breve te falo algo …

Abraço
Valeu

L

Ola Chistiano

Fiz conforme !!
Agora ele pede uma class … eu não criei class para abrir o relatorio.
eu estou utilizando jsp …

Fiz upload …/lib/
ITEXT
JASPERREPORT 2.0.5
MYSQLCONNEC…

  • precisa de mais algum .jar ?
    Ex.: Commons-Logging

JBOSS 4.X.X
MYSQL


Obs:
-O suporte do host que estou não entende nada, para
configurar o linux.

  • Um outro host que eu estava funcionava, porque o suporte
    ajustou o linux.

-------------------- aqui o erro -------------------------------------

HTTP Status 500 -

type Exception report

message

description The server encountered an internal error () that prevented it from fulfilling this request.

exception

org.apache.jasper.JasperException: javax.servlet.ServletException: java.lang.NoClassDefFoundError

org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:541)

org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:417)

org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:320)

org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266)

javax.servlet.http.HttpServlet.service(HttpServlet.java:803)

root cause

javax.servlet.ServletException: java.lang.NoClassDefFoundError

org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:850)

org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:779)

org.apache.jsp.cadastros.cf.openReport_jsp._jspService(openReport_jsp.java:127)

org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)

javax.servlet.http.HttpServlet.service(HttpServlet.java:803)

org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:393)

org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:320)

org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266)

javax.servlet.http.HttpServlet.service(HttpServlet.java:803)

root cause

java.lang.NoClassDefFoundError

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

net.sf.jasperreports.engine.fill.JRFiller.fillReport(JRFiller.java:57)

net.sf.jasperreports.engine.JasperFillManager.fillReport(JasperFillManager.java:402)

net.sf.jasperreports.engine.JasperFillManager.fillReport(JasperFillManager.java:234)

net.sf.jasperreports.engine.JasperRunManager.runReportToPdf(JasperRunManager.java:203)

org.apache.jsp.cadastros.cf.openReport_jsp._jspService(openReport_jsp.java:98)

org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)

javax.servlet.http.HttpServlet.service(HttpServlet.java:803)

org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:393)

org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:320)

org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266)

javax.servlet.http.HttpServlet.service(HttpServlet.java:803)

note The full stack trace of the root cause is available in the Apache Tomcat/6.0.14 logs.
Apache Tomcat/6.0.14

Agradeço muito … a sua ajuda
Obrigado amigao
Lindberg

L

Ola pessoal

Alguem pode me dar uma luz ?

Agradeço muito

G

Pacotes necessários:

  • itext
  • jasperreports
  • commons digesters
  • commons beanutils
  • commons collections
  • commons logging
L

Ola Gbzao, Christiano Vale …
e a todos …

FUNCIOOOOOOOOOOOOOOOOOOONOU !!!,
depois que fiz upload dos .jar para a pasta …/lib (na web), de
todos os .jar que uso no desktop, referente a relatorio.

Obrigado pessoal

O que seria de nós se não houvesse este forum …

espero que ajude muita gente que tenham o mesmo problema
no host.

D
Lindberg:
Ola Gbzao, Christiano Vale ... e a todos ...

FUNCIOOOOOOOOOOOOOOOOOOONOU !!!!!!!!!!!,
depois que fiz upload dos .jar para a pasta .../lib (na web), de
todos os .jar que uso no desktop, referente a relatorio.

Obrigado pessoal

O que seria de nós se não houvesse este forum ...

espero que ajude muita gente que tenham o mesmo problema
no host.

Galera deixa eu aproveitar este post, pois eu estou com um problema, quando eu abro um relatório sem parametro abre que é lindo. Mas quando tento abrir um relatório que possui parametro não rola, e o melhor não da erro, não é nem questão de passar o parametro errado.

segue meu codigo. Desde já obrigado.

try {  
        	conn = Conexao.getConnection();
        	//out.println("Teste 2 <br>");
            //System.exit(0);    
            // carrega os arquivos jasper  
            JasperReport relatorioJasper = (JasperReport)JRLoader.loadObject(  
                    context.getRealPath("/codigo_rel/relatorio_por_contagem.jasper"));  
            /*out.println("Teste 3 <br>");*/
                 
            // parâmetros, se houverem  
            HashMap&lt;String,String&gt; parametros = new HashMap&lt;String,String&gt;();  
            parametros.put("idcontagem", "17");  
            ///out.println("Teste 4 <br>");  
            bytes = JasperRunManager.runReportToPdf(relatorioJasper,parametros,conn);
          
            out.println("Teste 5 <br>&quot;);
        } catch (JRException e) {  
            e.printStackTrace();  
        }  catch(Exception ez){
        	ez.printStackTrace();
        }
        
        if (bytes != null && bytes.length &gt; 0) {  
        	
            // envia o relatório em formato PDF para o browser  
            response.setContentType(&quot;application/pdf&quot;);  
            response.setContentLength(bytes.length);  
            ServletOutputStream ouputStream = response.getOutputStream();  
            ouputStream.write(bytes, 0, bytes.length);  
            ouputStream.flush();  
            ouputStream.close();
        	
        }
Criado 3 de junho de 2008
Ultima resposta 28 de mai. de 2009
Respostas 9
Participantes 4