Boa tarde pessoal.
Antes de mais nada quero dizer que pesquisei bastante sobre este erro, tanto aqui no GUJ como em outros fóruns, e nada resolveu meu problema.
Bem, é o seguinte, minha aplicação precisa gerar um contrato em PDF, para isso estou usando o JasperReport/IReport.
- Enquanto minha aplicação está no netbeans, ela gera o contrato/PDF perfeitamente.
- Quando é gerado o .jar, em meu computador, se executar ele direto, ele não gera o contrato e não mostra nenhuma mensagem de erro.
- Se eu executo este .jar pelo prompt (java -jar projeto.jar), ele gera o contrato normalmente, e sem nenhuma mensagem de erro.
- Em outro computador, se executar direto, não gera o contrato e não exibe mensagem de erro.
- Se executo pelo prompt, no outro computador, mostra o seguinte erro: Exception in thread “AWT-EventQueue-0” java.lang.NoClassDefFoundError: net/sf/jasperreports/engine/JasperFillManager, e não gera o contrato.
Estou usando o Netbeans 7.1.2 e o IReports 4.7.1.
O método que uso para montar o relatório é este:
[code]public boolean geraContratoPdf(){
Cliente cli=new Cliente(this.contCliId);
Empresa emp=new Empresa(1);
String contCliInfo=“CONTRATANTE: “+cli.getCliNome()+”, residente na “+cli.getCliEndereco()+”, nesta cidade de “+cli.getCliCidade()+”/”+cli.getCliEstado()+", inscrita no CPF sob o nº “+cli.getCliCpfCnpj()+”, a seguir mencionado tão somente contratante.";
String contEmpInfo=“CONTRATADO: “+emp.getEmpNome()+”, estabelecido na “+emp.getEmpEndereco()+”, nesta cidade de “+emp.getEmpCidade()+”/”+emp.getEmpEstado()+" inscrita no CNPJ sob o nº “+emp.getEmpCnpj()+”, representado por Sr. “+emp.getEmpRepresNome()+”, CPF. “+emp.getEmpRepresCpf()+” doravante denominado simplesmente contratado.";
try{
bd=new conexaoBD();
Map parametro = new HashMap();
parametro.put("contCliInfo", contCliInfo);
parametro.put("contEmpInfo", contEmpInfo);
JasperPrint impressao = JasperFillManager.fillReport("C:\\Projeto\\relat\\Contrato-pag1.jasper", parametro, bd.con);
JasperViewer viewer = new JasperViewer(impressao,false);
viewer.setDefaultCloseOperation(viewer.DISPOSE_ON_CLOSE);
viewer.setTitle("Contrato");
viewer.setSize(1000,700);
viewer.setVisible(true);
bd.desconectaBD();
}
catch(Exception e){
logErros erro=new logErros("geraContratoPdf", e.getMessage());
erro.escreveErroArquivo();
JOptionPane.showMessageDialog(null, "Erro (geraContratoPdf): "+e.getMessage());
}
return true;
}[/code]
O que pode ser o problema?
Por favor me ajudem pois já estou há quase uma semana tentando resolver e nada.