Ola pessoal, como vao?
Bom, estou ja uso o jasper a muito tempo com o iReport, agora preciso criar um relatorio PDF que não tem conexão com o banco e estou com problemas, para gerar o relatorio HTML sem o banco já consegui … segue o codigo abaixo de como estou tentando fazer:
public class TestMaim {
/**
* @param args
*/
public static void main(String[] args) {
//PARA HTML
// ClienteBean[] clientes = {
// new ClienteBean("Sergio", "Ribeirao", "30", "465465465"),
// new ClienteBean("Italo", "Remelexo", "20", "[telefone removido]"),
// new ClienteBean("Merdis", "Ribeira", "15", "[telefone removido]")
// };
// String reportSource = "g:/Projetos/Java/ProjetosCurrent/CommonMyJava/src/jasper/dinamic/RelatorioModeloTeste.jrxml";
// ClienteModeloTeste clienteModel = new ClienteModeloTeste();
// Map<String,Object> parameters = clienteModel.getParam();
//
// try{
// JasperReport jasperReport = JasperCompileManager.compileReport(reportSource);
// List<ModeloTesteBean> lista = clienteModel.getConteudo(clientes);
// System.out.println("IMPRIMINDO LISTA");
// for (int i = 0; i < lista.size(); i++) {
// System.out.println(lista.get(i).getDado1());
// }
// JRBeanCollectionDataSource jrBean = new JRBeanCollectionDataSource(lista);
// JasperPrint jasperPrint = JasperFillManager.fillReport(jasperReport, parameters, jrBean);
// JasperExportManager.exportReportToHtmlFile(jasperPrint, "c:/dddA.html");
// JasperViewer.viewReport(jasperPrint, false);
// }catch(Exception e){
// e.printStackTrace();
// System.out.println(e);};
// PARA PDF
ClienteBean[] clientes = {
new ClienteBean("Sergio", "Ribeirao", "30", "465465465"),
new ClienteBean("Italo", "Remelexo", "20", "[telefone removido]"),
new ClienteBean("Merdis", "Ribeira", "15", "[telefone removido]")
};
String reportJasper = "g:/Projetos/Java/ProjetosCurrent/CommonMyJava/src/jasper/dinamic/RelatorioModeloTeste.jasper";
String reportPrint = "g:/Projetos/Java/ProjetosCurrent/CommonMyJava/src/jasper/dinamic/RelatorioModeloTeste.jrprint";
ClienteModeloTeste clienteModel = new ClienteModeloTeste();
Map<String,Object> parameters = clienteModel.getParam();
try{
List<ModeloTesteBean> lista = clienteModel.getConteudo(clientes);
JRBeanCollectionDataSource jrBean = new JRBeanCollectionDataSource(lista);
JasperFillManager.fillReportToFile(reportJasper, parameters, jrBean);
JasperExportManager.exportReportToPdfFile(reportPrint,"c:/to.pdf");
JasperViewer.viewReport(reportPrint,false);
}catch(Exception e){};
}
}
–> Ocorre o seguinte erro:
Exception in thread "main" java.lang.NoClassDefFoundError: com/lowagie/text/DocumentException
at net.sf.jasperreports.engine.JasperExportManager.exportReportToPdfFile(JasperExportManager.java:121)
at net.sf.jasperreports.engine.JasperExportManager.exportReportToPdfFile(JasperExportManager.java:103)
at jasper.dinamic.TestMaim.main(TestMaim.java:66)
Caused by: java.lang.ClassNotFoundException: com.lowagie.text.DocumentException
at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
at java.lang.ClassLoader.loadClass(ClassLoader.java:252)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320)
... 3 more
Pessoal, como disse, ja usei o jasper muitas vezes e para gerar relatorios com conexão com o banco funciona corretamente, o problema agora é que não estou usando conexão com o banco, no lugar de um JRResultSetDataSource estou usando um JRBeanCollectionDataSource, alguem saberia a solução para criar um relatorio pdf no jasper sem a necessidade de uma conexão com o banco de dados?
Valeu pessoal !! =)