错误java应用程序jar jasperreport,jpa和hibernate

时间:2014-04-24 20:26:34

标签: java jasper-reports

我正在使用jpa 2.0,hibernate和jasperreport以及NetBeans作为IDE。我正在使用apache poi从excel导入和导出一些信息。它在NetBeans中运行良好,但是当我构建它并尝试为jar生成报告时,我得到了一个错误,我将在下面显示。

项目中的罐子:

antlr-2.7.6
antlr-2.7.7
asm
asm-attrs
cglib-2.1.3
commons-beanutils-1.8.0
commons-collections-2.1 (for jasperreports)
commons-collections-3.1 (for hibernate)
commons-digester-2.1
commons-javaflow-20060411
commons-logging-1.1.1
dom4j-1.6.1
ehcache-1.2.3
groovy-all-2.0.1
hibernate3
hibernate-commons-annotations-3.2.0.Final
hibernate-core-3.6.10.Final
hibernate-entitymanager-3.6.10.Final
hibernate-jpa-2.0-api-1.0.1.Final
hibernate-tools
iText-2.1.7.js2
jasperreports-5.5.1
jasperreports-fonts-5.5.1
jasperreports-javaflow-5.5.1
javassist
jboss-logging-3.1.0.GA
jboss-transaction-api_1.1_spec-1.0.1.Final
jgoodies-common-1.2.0
jgoodies-looks-2.4.1
jta
junit-4.6
mysql-connector-java-5.1.18-bin
org-apache-commons-logging
oscache-2.1
png-encoder-1.5
poi-3.7-20101029
slf4j-api-1.6.1
slf4j-simple-1.6.1

抱歉这么多罐子,但不是一个小应用程序。

这是我生成报告的方法

public void crearInformeCuentas(TableModel modelo, String titulo, String cobrado, String cobrar) {
Map parametro = new HashMap();
parametro.put("tituloPrincipal", titulo);
parametro.put("cobrado", cobrado);
parametro.put("cobrar", cobrar);
for (int i = 0; i < 7; i++) {
    parametro.put("titulo" + i, modelo.getColumnName(i));
}
try {
    JasperDesign jasperDesign = 
            RXmlLoader.load("C:\\Escribania\\informeCuotasPagadasEnElDia.jrxml");
    JasperReport informeCuentas = JasperCompileManager.compileReport(jasperDesign);
    JRTableModelDataSource jrtmd = new JRTableModelDataSource(modelo);
    JasperPrint jPrint = JasperFillManager.fillReport(informeCuentas, parametro, jrtmd);
    JasperViewer view = new JasperViewer(jPrint, false);
    view.setTitle("Comprobante de pago de una cuota");
    view.setLocationRelativeTo(null);
    view.setVisible(true);
} catch (JRException e) {
    JOptionPane.showMessageDialog(null, e);
}
JasperPrint jasperPrint = new JasperPrint();
}

这里我调用方法来显示来自tablaInformePagos的报告:

crearInformeCuentas(tablaInformePagos.getModel(), titulo ,montoCobradoTF.getText(), montoCobrarTF.getText());

这是我得到的错误:

net.sf.jasperreports.engine.JRException:Error compiling report java source files:C:\Users\Matias\report32name_1398367817150_601730.java C:\Users\Matias\report32name_Table32Dataset321_1398367817150_601730.java C:\Users\Matias\report32nae_dataset1_1398367817150_601730.java

jrxml文件位于C:\ Escribania \

例如:C:\ Escribania \ informeCuotasPagadasEnElDia.jrxml

我认为这就是全部。如果我错过了一些重要信息,请随时询问。任何有关它的帮助或建议或如何解决问题将非常感激。对不起任何语法错误,这不是我的母语。

1 个答案:

答案 0 :(得分:0)

尝试将JDT编译器jar添加到应用程序的类路径中。您可以在JasperReports发行版中找到一个。

此外,jasperreports-javaflow-5.5.1是jasperreports-5.5.1的变体,所以你只需要两个中的一个。如果不确定,请使用普通罐子。