Jasper

8 respostas
D

Olá Pessoal, estou tentando fazer um relatório e como exemplo para estudo peguei um breve tutorial do próprio site JasperForge mas não estou conseguindo executá-lo, segue o erro.

net.sf.jasperreports.engine.JRException: java.io.FileNotFoundException: \resource\report1.jasper

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

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

at control.CtrlRelat.doGet(CtrlRelat.java:29)

at javax.servlet.http.HttpServlet.service(HttpServlet.java:617)

at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)

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

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

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

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

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

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

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

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

at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:849)

at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)

at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:454)

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

Caused by: java.io.FileNotFoundException: \resource\report1.jasper

 17 more

resource é um pacote da minha aplicação, o arquivo .jasper está dentro deste pacote.
Creio que seja erro por não achar o caminho, então como especificar o caminho corretamente?

Código da Servlet:

<a class="mention" href="/u/override">@Override</a>

protected void doGet(HttpServletRequest req, HttpServletResponse resp)

throws ServletException, IOException {

String fileName = “/resource/report1.jasper”;

String outFileName = “test.pdf”;

HashMap hm = new HashMap();

try {

// Fill the report using an empty data source

JasperPrint print = JasperFillManager.fillReport(fileName, hm, new JREmptyDataSource());
// Create a PDF exporter
        JRExporter exporter = new JRPdfExporter();
        
        // Configure the exporter (set output file name and print object)
        exporter.setParameter(JRExporterParameter.OUTPUT_FILE_NAME, outFileName);
        exporter.setParameter(JRExporterParameter.JASPER_PRINT, print);
        
        // Export the PDF file
        exporter.exportReport();
        
    } catch (JRException e) {
        e.printStackTrace();
        System.exit(1);
    } catch (Exception e) {
        e.printStackTrace();
        System.exit(1);
    
}
	resp.sendRedirect("sucesso.jsp");
}

}

Obrigado,

8 Respostas

thiagocg

Boa tarde, esta sua pasta resource esta na raiz do webContent (caso seu projeto esteja no eclipse)?
Pode ser problema de acesso ao arquivo.

[]'s

D

Esta pasta resource não está na raiz do WebContent.
Ela deve estar?

thiagocg

como suas paginas jsp, xhtml, arquivos javascript, td tem q ficar disponivel na pasta webcontent, pois é somente la que o browser tem acesso.
Tente mudar sua pasta para a raiz do webcontent pra ver se resolve teu problema.

[]'s

D

Não resolveu, criei uma pasta “jasper” dentro de WebContent e fiz a referencia:

String fileName = “jasper/report1.jasper”;

E me retornou:

net.sf.jasperreports.engine.JRException: java.io.FileNotFoundException: jasper\report1.jasper

thiagocg

Adiciona uma / a frente do jasper pra indicar a raiz do seu contexto.
Ficaria assim:

String fileName = "/jasper/report1.jasper";

[]'s

D

thiagocg:
Adiciona uma / a frente do jasper pra indicar a raiz do seu contexto.
Ficaria assim:

String fileName = "/jasper/report1.jasper";

[]'s

Cara, mesmo assim não funcionou tb :shock:
Mesmo erro!

thiagocg

Cara, o duro é que to sem os jar’s aqui pra fazer uns testes, vou ver se posto alguma coisa pra vc mais tarde se vc não achar uma solução.

[]'s

D

Mt Obrigado! :thumbup:

Criado 13 de julho de 2010
Ultima resposta 14 de jul. de 2010
Respostas 8
Participantes 2