Pessoal, estou tentando exibir um relatório feito no ireports, só que o programa está me resultado a seguinte mensagem de erro:
java.lang.NoClassDefFoundError: org/apache/commons/collections/ArrayStack
at org.apache.commons.digester.Digester.<init>(Digester.java:185)
at dori.jasper.engine.xml.JRXmlDigester.<init>(JRXmlDigester.java:115)
at dori.jasper.engine.xml.JRXmlLoader.prepareDigester(JRXmlLoader.java:446)
at dori.jasper.engine.xml.JRXmlLoader.loadXML(JRXmlLoader.java:384)
at dori.jasper.engine.xml.JRXmlLoader.load(JRXmlLoader.java:371)
at dori.jasper.engine.xml.JRXmlLoader.load(JRXmlLoader.java:339)
at dori.jasper.engine.xml.JRXmlLoader.load(JRXmlLoader.java:323)
at dori.jasper.engine.JasperManager.loadXmlDesign(JasperManager.java:1017)
at beans.Relatorio.<init>(Relatorio.java:28)
at beans.Relatorio.main(Relatorio.java:51)
Exception in thread “main”
Ao meu ver…parece que está faltando a lib commons/collections a qual contei o ArrayStack…gostaria de alguma luz…
A classe é a seguinte:
package beans;
import dori.jasper.engine.;
import dori.jasper.engine.design.;
import dori.jasper.engine.print.;
import dori.jasper.view.;
import java.io.*;
public class Relatorio {
/** Creates a new instance of relatorio */
public Relatorio() {
try {
System.setProperty(“org.xml.sax.driver”, “org.apache.xerces.parsers.SAXParser”);
// First, load JasperDesign from XML and compile it into JasperReport
File reportFile = new File(“c:\empresas.jasper”);
//JasperDesign jasperDesign = JasperManager.loadXmlDesign(“c:\empresas.jasper”);
JasperDesign jasperDesign = JasperManager.loadXmlDesign(reportFile.getPath());
JasperReport jasperReport = JasperManager.compileReport(jasperDesign);
// Third, get a database connection
Class.forName(“org.firebirdsql.jdbc.FBDriver”).newInstance();
java.sql.Connection conn = java.sql.DriverManager.getConnection(“jdbc:firebirdsql:localhost/3050:D:\Sistemas_Junior\CEBRAPA_7\Dados\CEBRAPA.GDB?lc_ctype=WIN1252”,“SYSDBA”,“masterkey”);
// Fourth, create JasperPrint using fillReport() method
JasperPrint jasperPrint = JasperManager.fillReport(jasperReport,null,conn);
// Or to view report in the JasperViewer
JasperViewer.viewReport(jasperPrint);
}catch (Exception e){ e.printStackTrace();}
}
/**
-
@param args the command line arguments
*/
public static void main(String[] args) {
Relatorio a = new Relatorio();
}
}