Olá Pessoal, to utilizando o netbeans 6.8 e o iReport 4.0.2 para desenvolver um aplicativo, mas to com o seguinte problema…
Quando compilo no netbeans o arquivo responsável por chamar o relatório, ele abre normalmente, mas quando gero o executável do sistema e clico no botão para chamar o mesmo relatório, aparece a seguinte mensagem de erro:
conexaocon=newconexao();publicrelatorio_produto(){try{con.conecta();con.executaSQL("select * from produtos");JRResultSetDataSourcejrRS=newJRResultSetDataSource(con.resultset);JasperPrintjasperPrint=JasperFillManager.fillReport("relatorios/relatorio_produto.jasper",newHashMap(),jrRS);JasperViewer.viewReport(jasperPrint);}catch(Exceptionerro){JOptionPane.showMessageDialog(null,"Deu o erro:"+erro);}}publicstaticvoidmain(Stringargs[]){newrelatorio_produto();}
}
Lindberg
olha os [color=red]import[/color] do teu codigo …
no momento estou utilizando este:
importjava.io.IOException;importjava.io.StringReader;importjava.sql.Connection;importjava.sql.DriverManager;importjava.sql.ResultSet;importjava.sql.Statement;importjava.util.HashMap;importjavax.swing.text.BadLocationException;importjavax.swing.text.rtf.RTFEditorKit;importnet.sf.jasperreports.engine.JRException;importnet.sf.jasperreports.engine.JRResultSetDataSource;importnet.sf.jasperreports.engine.JasperCompileManager;importnet.sf.jasperreports.engine.JasperFillManager;importnet.sf.jasperreports.engine.JasperManager;importnet.sf.jasperreports.engine.JasperPrint;importnet.sf.jasperreports.view.JasperViewer;importnet.sf.jasperreports.engine.JasperPrintManager;publicclassabrerelatorio{publicstaticjava.sql.Connectionconex;publicStringtitulos[]=newString[10];publicopencarrego(java.sql.Connectioncong,Stringtitulog[],Stringpedg){conex=cong;titulos=titulog;Stringfantasiaw=titulos[0];Stringdocw=pedg;try{StringrootDir="pasta_relatorios/";java.util.Mapparameters=newHashMap();parameters.put("Emp",""+fantasiaw+"");parameters.put("dados",""+docw+"");//----------------- se for utilizar sub relatorios ----------------------------------/* String subreportFile1 = rootDir+"subrel1.jasper"; String subreportFile2 = rootDir+"subrel2.jasper"; parameters.put("SUBREPORT_DIR1", ""+subreportFile1.toString()+"" ) ; parameters.put("SUBREPORT_DIR2", ""+subreportFile2.toString()+"" ) ; parameters.put("REPORT_CONNECTION", conex ) ; *///------------------------------ sub relatorios ---------------------------------------StringreportFilename=rootDir+"nomedorelatorio.jasper";JasperPrintjasperPrint=JasperFillManager.fillReport(reportFilename,parameters,conex);JasperViewer.viewReport(jasperPrint,false);}catch(Exceptione){System.out.println("Ocorreu um erro: "+e.toString());e.printStackTrace();}}}----------------comconsultasql----------------trocaestetrecho----------------Statementstatement=conex.createStatement();rs=statement.executeQuery(selectw);//"Select * from esprodutos"JRResultSetDataSourcejrRS=newJRResultSetDataSource(rs);JasperPrintjasperPrint=JasperFillManager.fillReport(relatw,parameters,jrRS);JasperViewer.viewReport(jasperPrint,false);
anderson3
Ainda não consegui resolver o problema…
anderson3
Vou conferir os importes!!
anderson3
Já conferi os importes, continua dando a mesma mensagem de erro…
Lindberg
verifica o classpath … acredito que esteja faltando algum arquivo jar
coloca pra gente olhar como vc ta criando o jar, quais arquivos jar estao na pasta …
------------- criando arquivo criajar.bat ----------------------
del *.class
echo Compilando
javac minhaaplicacao.java
del aplicacao.jar
jar -cvfm aplicacao.jar manifest.txt *.class
para estes comando funcionar o [color=red]ambiente do so[/color] deve estar configurado …
anderson3
Como eu sou iniciante no java, to com dificuldade em conferir o Classpath, inclusive em encontrar ele aqui no pc…Assim que eu encontrar posto aqui…
Lindberg
estas dicas que ti passei funcionam[color=blue] sem IDE[/color], é voce quem deve configurar seu computador.
veja no link http://lindberg.zip.to, é onde guardo minhas anotações, ainda vou arrumar ta feio …
anderson3
Na minha variável de sistema Classpath tem o seguinte texto->".;%JAVA_HOME%"
anderson3
No meu caso aqui as variáveis de ambiente tem o seguinte conteúdo:
Path=%PATH%;%JAVA_HOME%\bin
JAVA_HOME=C:\Arquivos de programas\Java\jdk1.6.0_18
CLASSPATH=.;%JAVA_HOME%
anderson3
Me ajudem aí pessoal, to precisando muito desse aplicativo funcionando…E como sou iniciante em java to tendo dificuldade!! Valeu…
Lindberg
veja no link http://lindberg.zip.to, é onde guardo minhas anotações, ainda vou arrumar ta feio …
voce pode copiar todos jar necessario na mesma pasta onde estar seu arquivo.jar
Se quando vc compila funciona e quando gera o .jar nao funciona entao ele nao esta encontrando o arquivo.
JasperPrint jasperPrint = JasperFillManager.fillReport(“relatorios/relatorio_produto.jasper”, new HashMap(), jrRS);
passa o caminho completo de onde esta o relatorio ex: /home/relatorios/relatorio_produto.jasper
ou c:/relatorios/relatorio_produto.jasper