iRepor

1 resposta
Marques

Salve Lista!

Criei um arquivo .jasper no iReport, testo-o e funfa legal. Daí criei essa classe no eclipse para executar o arquivo .jasper e qdo executo-a (no eclipse) dá o erro especificado abaixo, sendo que eu peguei o arquivo .jasper e coloquei-o no mesmo diretório onde está o meu .class Alguma dica?
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/cadastro";
		String user = "root";
		String password = "root";
		
		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();
	}

}
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:41) 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:41)
at br.com.fit.teste.RelatorioBibliotecaPessoal.main(RelatorioBibliotecaPessoal.java:49)
Caused by: java.io.FileNotFoundException: RelatorioBibliotecaPessoal.jasper
... 4 more

1 Resposta

ASOBrasil

Marques,

Isso com certeza é o caminho do arquivo jasper que ele não está encontrando, faz o seguinte: cria um diretório reports na raiz do seu projeto e colocar o .jasper lá, então na referência do projeto muda seu código para:

JasperFillManager.fillReportToFile(
	"reports/RelatorioBibliotecaPessoal.jasper", parameters, jrRS);

ASOBrasil

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