Boa noite.
Pessoal eu estou com um problema com o JasperReport e não consigo resover!!! Pois eu estou tentando gerar um relatório!
Bom, eu fiz o relatório no IReport, eu o visualizei como .pdf e foi tudo beleza, mas quando eu tento fazer com que minha classe mostre este relatório acontece um erro estranho, que é o seguinte:
java.lang.NoClassDefFoundError: org/apache/commons/logging/LogFactory
at dori.jasper.engine.fill.JRBaseFiller.<clinit>(JRBaseFiller.java:121)
at dori.jasper.engine.fill.JRFiller.fillReport(JRFiller.java:110)
at dori.jasper.engine.JasperFillManager.fillReport(JasperFillManager.java:219)
at dori.jasper.engine.JasperFillManager.fillReport(JasperFillManager.java:159)
at dori.jasper.engine.JasperManager.fillReport(JasperManager.java:666)
at MostraRelatorio.main(MostraRelatorio.java:61)
Exception in thread "main"
O meu código é o seguinte:
[code]//MostraRelatorio.java
import dori.jasper.engine.*;
import dori.jasper.engine.JasperManager;
import dori.jasper.engine.JasperReport;
import dori.jasper.engine.JasperPrint;
import dori.jasper.view.JasperViewer;
import java.util.;
import java.util.HashMap;
import java.sql.;
import java.io.*;
import org.apache.commons.beanutils.;
import org.apache.commons.digester.;
import org.apache.commons.collections.;
import org.apache.commons.logging.;
import org.apache.commons.logging.LogFactory;
public class MostraRelatorio {
private static final String drive = "sun.jdbc.odbc.JdbcOdbcDriver";
private static final String url = "jdbc:odbc:Locadora";
private static final String login = "";
private static final String passwd = "";
public static void main(String[] args){
//new MostraRelatorio();
try{
Class.forName(drive);
Connection con = DriverManager.getConnection(url,login,passwd);
//testando a conexao
Statement stm = con.createStatement();
ResultSet res = stm.executeQuery("Select * from produtos");
while(res.next()){
String sCodigo = res.getString("codigo");
System.out.println(sCodigo);
}
// Fim do teste
JasperPrint impressao = JasperManager.fillReport("/TesteJava/relatorioTeste01.jasper", new HashMap(), con);
}
catch(Exception e){
System.out.print(e);
}
}
}[/code]
Eu já coloquei todos os pacotes no meu path, e com várias tentativas eu percebi que as classes do pacote org.apache.commons é as que não estão sendo identificadas pela minha classe.
O estranho é que os pacotes estão todos no meu classpath, assim como o do jasperreport, e a minha classe não consegue identifica-las, mas consegue identificar a do jasperreport. Eu estou usando a IDE NetBeans será que o problema pode estar nele? E já tentei execultar pelo Prompt do DOS e acontece o mesmo erro.
E quanto o erro? Será que alguêm poderia me dar uma força?
Valeu!!!