Fala cara!! Tudo bem?
Eu estou começando o estudo de criação de relatórios utilizando a ferramenta iReport.
Eu consegui gerar o relatório no iReport mas na hora de carregar o relatório a partir de uma classe (ExibeRelatorio) ela dispara exceções.
Segue junto a classe ExibeRelatorio e a exceção.
Muito obrigado !!
package relatorio;
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.JasperRunManager;
import net.sf.jasperreports.view.JasperViewer;
public class ExibeRelatorio {
private static Connection getConnection( ) throws ClassNotFoundException, SQLException
{
String driver = “sun.jdbc.odbc.JdbcOdbcDriver”;
String url = “jdbc:odbc:Banco”;
String user = “”; 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 Filmes”;
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/relatorio2.jasper”, parameters, jrRS );
/* Exporta para o formato PDF */
//JasperExportManager.exportReportToPdfFile( “relatorio/relatorio2.jrprint” );
/* Preenche o relatorio e o salva diretamente em arquivo PDF. Sem a necessidade do .jrprint */
JasperRunManager.runReportToPdfFile(“relatorio/relatorio2.jasper”, parameters, jrRS);
/* Visualiza o relatório em formato PDF */
JasperViewer.viewReport( “relatorio/relatorio2.pdf”, false );
}
public static void main(String[] args) throws JRException, Exception
{
new ExibeRelatorio().geraRelatorio();
}
}
###############################
java.lang.NoClassDefFoundError: org/apache/commons/logging/LogFactory
at net.sf.jasperreports.engine.fill.JRBaseFiller.<clinit>(JRBaseFiller.java:85)
at net.sf.jasperreports.engine.fill.JRFiller.fillReport(JRFiller.java:10
at net.sf.jasperreports.engine.JasperFillManager.fillReport(JasperFillManager.java:429)
at net.sf.jasperreports.engine.JasperRunManager.runReportToPdfFile(JasperRunManager.java:181)
at relatorio.ExibeRelatorio.geraRelatorio(ExibeRelatorio.java:4
at relatorio.ExibeRelatorio.main(ExibeRelatorio.java:56)
Exception in thread “main”