Olá
Sou iniciante em programação JAVA, fiz meu primeiro projeto usando JDeveloper, funcuionou tudo corretamente, mas quando gero o .JAR meus relatorios não funcionam. Eu utilisei o Jasper para fazer meu relatórios. Alguem poderia me dar uma dica de como gerar o .JAR corretamente
Geração do .JAR
4 Respostas
gugabsi,
vc utiliza libs neste seu projeto? se sim, é necessário colocá-las dentro dele ou então na hora de chamar o seu jar colocar essas libs no seu classpath na linha de comando
<>
Libs são os aquivos .jar?
eu uso estes aqui:
commons-beanutils-1.5.jar
commons-collections-2.1.jar
commons-digester-1.7.jar
commons-javaflow-20060411.jar
commons-javaflow-20060411.jar
itext-1.3.1.jar
jasperreports-1.2.2.jar
firebirdsql.jar
firebirdsql-full.jar
jcalendar-1.3.2.jar
Meu codigo fonte que eu chamo e relátório é este:
private void jMI_ContaBancaria_actionPerformed(ActionEvent e) {
// Relatório de Conta Bancária
Apli_relContaBancaria rel = new Apli_relContaBancaria();
rel.setVisible(true);
String sql = rel.getSql();
try {
if (!sql.equals("")){
Conexao c = new Conexao();
c.conecta_BD();
ResultSet rs = c.localizaRelatorio(sql);
c.desconecta_BD();
JasperReport jasperReport = JasperCompileManager.compileReport ("C:\\GESAD\\Client\\Relatorios\\relContaBancaria.jrxml");
JasperPrint jasperPrint = JasperFillManager.fillReport(jasperReport, new HashMap(), new JRResultSetDataSource( rs ));
JasperViewer.viewReport(jasperPrint,false);
//JasperExportManager.exportReportToPdfFile(jasperPrint, "C:/relChequesEmitidos.pdf");
}
}
catch (JRException f) {
JOptionPane.showMessageDialog(null, "Erro: " + f + "\n" + "Erro: " + f.getCause() + "\n" + "Erro: " + f.getMessage());
}
}
este é o erro que dá quando executo o meu projeto pelo arquivo .JAR:
ERRO: net.sf.jasperreports.engine.JRException: Error compiling report java source files: C:\Gesad\Client\deploy\relContaBancaria_1196087763515_975578.java
ERRO: java.io.IOException: Connot run program “javac”: CreatProcess error=2, O Sistema não pode encontrar o arquivo especificado
ERRO: Error compiling report java source file: C:\Gesad\Client\deploy\relContaBancaria_1196087763515_975578.java
Como eu coloco as lib´s na linha de comando do meu ClassPath
gugabsi,
esse código-fonte que vc me mandou é toda a sua classe do projeto ou tem mais? pq pra vc rodar uma aplicação java, a aplicação precisa ter uma classe com o método main, e esta classe deve ser chamada no momento de executar o seu projeto, senão não irá funcionar.
Para vc colocar as libs na linha de comando na hora de rodar o jar eh assim:
java -classpath localdojar/arquivo1.jar;localdojar/arquivo2.jar;localdojar/arquivo2.jar;seuarquivo.jar nomeCompletoDaSuaClasse arg1 arg2 .....
Ex:
java -classpath axislib/activation-1.1.jar;axislib/annogen-0.1.0.jar;axislib/axiom-api-1.2.5.jar;meujar.jar br.com.teste.leo.MinhaClasse "1" "2" "aaaaaa"
Consegui arrumar o problema
estava faltoando uma lib “jsk_compiler” acho qeu é esta
Valeuuuuuuuuuuuuuuu