Gerei um relatório pelo iReport e está funcionando bem, mas, não consigo gerar o mesmo relatório a partir de uma classe,.é mostrado o seguinte erro:
Exception in thread “main” java.io.FileNotFoundException: Relatorio_DVD.jrxml
at net.sf.jasperreports.engine.util.JRLoader.loadObject(JRLoader.java:73)
at net.sf.jasperreports.engine.JasperFillManager.fillReportToFile(JasperFillManager.java:270)
at Relatorio_DVD.geraRelatorio(Relatorio_DVD.java:37)
at Relatorio_DVD.main(Relatorio_DVD.java:48)
NESTED BY :
net.sf.jasperreports.engine.JRException: Relatorio_DVD.jrxml
at net.sf.jasperreports.engine.util.JRLoader.loadObject(JRLoader.java:73)
at net.sf.jasperreports.engine.JasperFillManager.fillReportToFile(JasperFillManager.java:270)
at Relatorio_DVD.geraRelatorio(Relatorio_DVD.java:37)
at Relatorio_DVD.main(Relatorio_DVD.java:48)
Caused by: java.io.FileNotFoundException: Relatorio_DVD.jrxml
… 4 more
A classe que estou usando para chamar o relatório é esta:
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
import java.util.HashMap;
import net.sf.jasperreports.engine.JasperExportManager;
import net.sf.jasperreports.view.JasperViewer;
import net.sf.jasperreports.engine.;
import java.sql.;
import java.util.*;
public class Relatorio_DVD {
private static Connection getConnection( ) throws ClassNotFoundException, SQLException {
String driver = “org.gjt.mm.mysql.Driver”;
String url = “jdbc:mysql://localhost:3306/locadora”;
String user = “root”;
String password = “123456”;
Class.forName(driver);
Connection con = DriverManager.getConnection( url, user, password );
return con;
}
/* Gera Relatorio e visualiza-o */
public void geraRelatorio( ) throws JRException, Exception {
Connection con = getConnection( );
Statement stm = con.createStatement( );
String query = "select Dvd_codigo, Dvd_filme from dvd";
ResultSet rs = stm.executeQuery( query );
/* implementação da interface JRDataSource para DataSource ResultSet */
JRResultSetDataSource jrRS = new JRResultSetDataSource( rs );
/* HashMap de parametros utilizados no relatório. Sempre instanciados */
Map parameters = new HashMap();
// parameters.put("COLUNA", valor);
/* Preenche o relatório com os dados. Gera o arquivo BibliotecaPessoal.jrprint */
JasperFillManager.fillReportToFile( "Relatorio_DVD.jrxml", parameters, jrRS );
/* Exporta para o formato PDF */
JasperExportManager.exportReportToPdfFile( "Relatorio_DVD.jrprint" );
/* Preenche o relatorio e o salva diretamente em arquivo PDF.
* Sem a necessidade do .jrprint */
// JasperRunManager.runReportToPdfFile("Relatorio_DVD.jasper", parameters, jrRS);
/* Visualiza o relatório em formato PDF */
JasperViewer.viewReport( "Relatorio_DVD.pdf", false );
}
public static void main(String[] args) throws JRException, Exception {
new Relatorio_DVD().geraRelatorio();
}
}
Se vc souber como solucionar esta problema ajude-me.