Problemas com JasperReport

1 resposta
warley

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:

//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);
       }
       
   }
    
    
}

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!!!!

1 Resposta

aborges

Vc deve colocar o jar do commons-logging no seu classpath :wink:

Criado 8 de julho de 2004
Ultima resposta 8 de jul. de 2004
Respostas 1
Participantes 2