JasperReport [RESOLVIDO]

2 respostas
Luis_Renato

Bom galera, procurei problemas iguais ao meu e não encontrei.

Eu tenho um JasperReport (que foi feito com o plugin) chamado relatorioEstoque e gostaria de chamá-lo dentro da aplicação. A minha aplicação não é web.

O pessoal fala pra usar as seguintes linhas:

try  {  
         jasperReport = JasperCompileManager.compileReport("relatorioEstoque.jrxml");  
         jasperPrint = JasperFillManager.fillReport(jasperReport, parametros, HibernateUtil.getConnection());  
         jasperViewer = new JasperViewer(jasperPrint, false );  
         jasperViewer.setDefaultCloseOperation(JasperViewer.DISPOSE_ON_CLOSE);  
         jasperViewer.setVisible(true);  
      
} catch (JRException ex)  {  
          Logger.getLogger(JD_PrecoVenda.class.getName()).log(Level.SEVERE, null, ex);  
}

Porém, dá erro na primeira linha quando executo.

Exception in thread “AWT-EventQueue-0” java.lang.NoClassDefFoundError: org/apache/commons/digester/Digester

at net.sf.jasperreports.engine.JasperCompileManager.compileReport(JasperCompileManager.java:143)

at Interface.JanelaPrincipal.actionPerformed(JanelaPrincipal.java:224)

Caused by: java.lang.ClassNotFoundException: org.apache.commons.digester.Digester

2 Respostas

Gerva

Compartilha o que vc fez para resolver o problema (Y)

Luis_Renato

Opa, foi mal.

Eu coloquei o caminho inteiro do arquivo .jrxml e achei um jeito um pouco diferente de fazer:

String layout = "C:\\Users\\USER\\Documents\\NetBeansProjects\\PROJETO\\src\\Interface\\relatorios\\relatorioVenda.jrxml";

        //Gerando o jasper design
	JasperDesign desenho = JRXmlLoader.load(layout);

        //Compila o relatório
        JasperReport relatorio = JasperCompileManager.compileReport(desenho);

	//Estabelece conexão
        Class.forName("com.mysql.jdbc.Driver");
	Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3306/sjn" ,"root" ,"123");
	Statement stm = con.createStatement();
	String query = "SELECT * FROM venda;
	ResultSet rs = stm.executeQuery(query);

        //Implementação da interface JRDataSource para DataSource ResultSet
	JRResultSetDataSource jrRS = new JRResultSetDataSource(rs);

	//Executa o relatório
	JasperPrint impressao = JasperFillManager.fillReport(relatorio, null, jrRS);

	//Exibe o resultado
	JasperViewer viewer = new JasperViewer(impressao, false);
	viewer.show();
Criado 1 de outubro de 2011
Ultima resposta 3 de out. de 2011
Respostas 2
Participantes 2