Chamar relatorio a partir do java

Boa tarde
Tenho que apresentar um projeto final de curso daqui a duas semanas
e estamos com um problema

so sei fazer relatório no iReport

poriço peço " :razz: desesperadamente"

mas não ta conseguindo executar

por favo … sujestões

veja abaixo

[code]//classe para chamar o relatório
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
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.JasperExportManager;
import net.sf.jasperreports.engine.JasperFillManager;
import net.sf.jasperreports.engine.JasperPrint;
import net.sf.jasperreports.engine.JasperRunManager;
import net.sf.jasperreports.engine.data.JRBeanArrayDataSource;
import net.sf.jasperreports.engine.data.JRBeanCollectionDataSource;
import net.sf.jasperreports.view.JasperViewer;

public class GerarRelatorio {
Connection conexao = null;

 public GerarRelatorio() {
     try {
         Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
         conexao = DriverManager.getConnection("jdbc:odbc:fonteueg","root","");
         
         //Class.forName("com.mysql.jdbc.Driver");
        // conexao = DriverManager.getConnection("jdbc:mysql://localhost/fonteueg","root","");
           
         //com.mysql.jdbc.Driver
     } catch (Exception e) {
         e. printStackTrace();
     }
 }
     
 public void gerarRelatorioHistoricoEstoque() throws Exception, JRException {
    PreparedStatement stmt = null;
    ResultSet rs = null;
    //String caminhoRelatorioJasper = "F:\\AutoSystem\\src\\modelo\\conexao\\historico_estoque.jasper";
    String caminhoRelatorioJasper = "C:\\projetoUeg\\projeto\\relMateriais.jasper";
    
    try{
        stmt = conexao.prepareStatement( "select * from TMateriais");                      
        
        rs = stmt.executeQuery();
        
        JRResultSetDataSource ds = new JRResultSetDataSource(rs);
         
        Map parametros = new HashMap();
        
        try{
            JasperPrint impressao = JasperFillManager.fillReport( caminhoRelatorioJasper,parametros,ds);
            
            JasperViewer viewer = new JasperViewer(impressao, true);
            
        }
        
        catch (JRException e){
            System.out.println("erro: " + e.getMessage());
            e.printStackTrace();
        
        }
        
    }
    catch(Exception e) {
        e.printStackTrace();       
    }
    
    
    
    
     
 }
 
 public static void main(String[] args) throws JRException, Exception

{
new GerarRelatorio().gerarRelatorioHistoricoEstoque();
}

}[/code]
Quando compila não mostra erros

Quando executa mostra esses
Mostra esses erros

[quote]At.net.fs.jasperreports.engine.until.JRLoader.loadObject<JRloader.java:89>
At.net.fs.jasperreports.engine.JasperFillManager.fillReport<jasperFillManager.java:342>
At.GerarRelatorio.GerarRelatorioHistoricoEstoque<GerarRelatorio.java:156>
Caused by: java.io.InvalidCllass.Exepition: net.fs.JasperReports.engine.base.JRBaseReport; local class incompatible: streem classdesc serialVersinUID = 607, local class serialVersionUID = 1000
At.java.io.ObjectStreemClass.initNonProxy<ObjectStreemClass.java:463>
At.java.io.ObjectInputStreem.readNonProxyDesc<ObjectInputStreem.java:152>
At.java.io.ObjectInputStreem.readClassDesc<ObjectInputStreem.java:1435>
At.java.io.ObjectInputStreem.readNonProxyDesc<ObjectInputStreem.java:152>
At.java.io.ObjectInputStreem.readClassDesc<ObjectInputStreem.java:1435>
At.java.io.ObjectInputStreem.readOrdnaryObject<ObjectInputStreem.java:1626>

At.java.io.ObjectInputStreem.readObject<ObjectInputStreem.java:1274>
At.java.io.ObjectInputStreem.readObject<ObjectInputStreem.java:324>
At.net.fs.jasperreports.engine.until.JRLoader.loadObject<JRloader.java:85>

… 3 more
[/quote]
Veja as variáveis de ambiente(Windows xp)

Nome da variável: CLASSPATH
Valor da variável: .;JAVA_HOME; Fontes de dados (ODBC);JAVA_HOME\lib;ANT_HOME\lib;C:\projetoUeg\projeto\commons-collections-3.2.tar

Nome da variável: PATH
Valor da variável: C:\Arquivos de programas\Java\jdk1.5.0_06\bin;JAVA_HOME\bin;ANT_HOME\bin;commons-collections-3.2.tar;

cara verifica se você ta usando o classpath do jasperreports no seu pragrama, é nescessário que ele esteja dentro dele…
Aparentemente o codigo está correto… o que você vai precisar que está faltando ainda é o (commons-collections-3.2.tar) que tambem deve estar compilado dentro da usa aplicacao