JasperReports - Á beira do desespero

2 respostas
Marques

Lista,

Por favor, alguém tem um exemplo de classe que executa um arquivo .jasper? Eu tentei esse código de um tutorial que encontrei aqui no guj porem dá erro, sendo que o arquivo .jasper está no mesmo diretório que o .class

Exception in thread "main" java.io.FileNotFoundException: RelatorioBibliotecaPessoal.jasper
at net.sf.jasperreports.engine.util.JRLoader.loadObject(JRLoader.java:75)
at net.sf.jasperreports.engine.JasperFillManager.fillReportToFile(JasperFillManager.java:443)
at br.com.fit.teste.RelatorioBibliotecaPessoal.geraRelatorio(RelatorioBibliotecaPessoal.java:42)
at br.com.fit.teste.RelatorioBibliotecaPessoal.main(RelatorioBibliotecaPessoal.java:49)

NESTED BY : net.sf.jasperreports.engine.JRException: RelatorioBibliotecaPessoal.jasper at net.sf.jasperreports.engine.util.JRLoader.loadObject(JRLoader.java:75) at net.sf.jasperreports.engine.JasperFillManager.fillReportToFile(JasperFillManager.java:443) at br.com.fit.teste.RelatorioBibliotecaPessoal.geraRelatorio(RelatorioBibliotecaPessoal.java:42) at br.com.fit.teste.RelatorioBibliotecaPessoal.main(RelatorioBibliotecaPessoal.java:49) Caused by: java.io.FileNotFoundException: RelatorioBibliotecaPessoal.jasper ... 4 more
package br.com.fit.teste;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.HashMap;
import java.util.Map;

import net.sf.jasperreports.engine.JRException;
import net.sf.jasperreports.engine.JRResultSetDataSource;
import net.sf.jasperreports.engine.JasperExportManager;
import net.sf.jasperreports.engine.JasperFillManager;
import net.sf.jasperreports.view.JasperViewer;

public class RelatorioBibliotecaPessoal {

	private static Connection getConnection() throws ClassNotFoundException,
			SQLException {
		String driver = "com.mysql.jdbc.Driver";
		String url = "jdbc:mysql://localhost:3306/bgma?zeroDateTimeBehavior=convertToNull";
		String user = "root";
		String password = "";
		
		Class.forName(driver);
		Connection con = DriverManager.getConnection(url, user, password);
		return con;
	}

	public void geraRelatorio() throws JRException, Exception {
		
		Connection con = getConnection();
		Statement stm = con.createStatement();
		String query = "select * from associado";
		ResultSet rs = stm.executeQuery(query);
		JRResultSetDataSource jrRS = new JRResultSetDataSource(rs);
		Map parameters = new HashMap();
		// parameters.put("abc" , "def");	
		

		JasperFillManager.fillReportToFile("RelatorioBibliotecaPessoal.jasper",	parameters, jrRS);
		JasperExportManager.exportReportToPdfFile("RelatorioBibliotecaPessoal.jrPrint");

		JasperViewer.viewReport("BibliotecaPessoal.pdf", false);
	}

	public static void main(String[] args) throws JRException, Exception {
		new RelatorioBibliotecaPessoal().geraRelatorio();
	}

}

2 Respostas

ronnypeterson

Eu tbm sofri com um problema parecido, daí um amigo deu a dica de copiar alguns arquivos .jar (jasperreports-1.2.0.jar, iReport.jar, itext-1.3.1.jar, entre outros) localizados no diretório lib do iReport para dentro do diretório lib\ext de sua pasta JRE ou JDK. Então funcionou legal…aliás, às vezes ele não funciona mais até hoje não sei pq.

fabiofalci

O arquivo

RelatorioBibliotecaPessoal.jasper

Esta na raiz do seu classpath?
Se nao estiver, coloque por exemplo no teu src/ e teste.

Criado 12 de maio de 2006
Ultima resposta 12 de mai. de 2006
Respostas 2
Participantes 3