我正在使用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
我认为这就是全部。如果我错过了一些重要信息,请随时询问。任何有关它的帮助或建议或如何解决问题将非常感激。对不起任何语法错误,这不是我的母语。
答案 0 :(得分:0)
尝试将JDT编译器jar添加到应用程序的类路径中。您可以在JasperReports发行版中找到一个。
此外,jasperreports-javaflow-5.5.1是jasperreports-5.5.1的变体,所以你只需要两个中的一个。如果不确定,请使用普通罐子。