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

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.

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.

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

[quote]

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

String reportFilename = rootDir + java.io.File.separator + "/teste1.jasper ";
[/code][/quote]

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.

OK, Christiano Vale

Estou inciando os teste breve te falo algo …

Abraço
Valeu

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

Ola pessoal

Alguem pode me dar uma luz ?

Agradeço muito

Pacotes necessários:

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

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.

[quote=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.

[/quote]

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.

[code]try {
conn = Conexao.getConnection();
//out.println(“Teste 2
“);
//System.exit(0);
// carrega os arquivos jasper
JasperReport relatorioJasper = (JasperReport)JRLoader.loadObject(
context.getRealPath(”/codigo_rel/relatorio_por_contagem.jasper”));
/out.println("Teste 3
");
/

        // parâmetros, se houverem  
        HashMap<String,String> parametros = new HashMap<String,String>();  
        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();
    	
    }[/code]