0

これは、請求書ページを印刷するためのソース コードです。レポートが Java パッケージに含まれていません。Javaプロジェクトと同じパーティションにある「レポート」というフォルダー内に保管しました。今、私は NoClassDefFoundError を抱えています。

try {
    String date1 = new SimpleDateFormat("yyyy-MM-dd").format(isdate.getDate());
    String time1 = istime.getValue().toString().split(" ")[3];
    date1 = date1 + " " + time1;

    String date2 = new SimpleDateFormat("yyyy-MM-dd").format(redate.getDate());
    String time2 = retime.getValue().toString().split(" ")[3];
    date2 = date2 + " " + time2;

    JRTableModelDataSource dataSource = new JRTableModelDataSource(jTable1.getModel());
    String reportsource = " D://report/report1.jrxml";
    Map<String, Object> params = new HashMap<String, Object>();
    params.put("inid", txtInvoiceID.getText());
    params.put("cuname", txtCuName.getText());
    params.put("cuadd", txtCuid.getText());
    params.put("cutp", txtTPNo.getText());
    params.put("isdate", date1);
    params.put("redate", date2);
    params.put("advance", txtAdvance.getText());
    params.put("due", txtDue.getText());
    params.put("total", txtGtotal.getText());
    JasperReport jasperReport = JasperCompileManager.compileReport(reportsource);
    JasperPrint jasperPrint = JasperFillManager.fillReport(jasperReport, params, dataSource);
    JasperViewer.viewReport(jasperPrint, false);
    JOptionPane.showMessageDialog(null, "Done");
} catch (Exception e) {
    System.out.println(e);
}
4

1 に答える 1

2

コンパイラはコンパイル時に必要なライブラリを見つけますが、プログラムは実行時にクラスパスでそれらを見つけることができません。Jasper ライブラリをクラスパスに追加します。(私はその依存関係を持っています..それらのほとんどはApache Commonsです)

于 2013-10-02T18:18:58.890 に答える