NoClassDefFoundError:org/apache/commons/logging/LogFactory

bun*_*cis 1 java jasper-reports noclassdeffounderror

我是JasperReports的新手,我想将JasperReports集成到我的Java程序中,所以当我点击打印按钮时,程序将显示报告.但是当我点击按钮时,我得到一个NoClassDefFoundError.

JButton btnReport= new JButton("Report");
btnReport.addActionListener(new ActionListener() {
    public void actionPerformed(ActionEvent arg0) { 
        try{
            String fileName= "src/learnReport/Leaf_Grey.jasper";
            Connection con = connect.getConnect();
            File file = new File(NameFile);
            JasperReport jasperReport = (JasperReport) JRLoader.loadObject(file);
            JasperPrint jasperPrint = JasperFillManager.fillReport(jasperReport, null,con);
            JasperViewer.viewReport(jasperPrint,false);
        } catch(Exception ex){
            System.out.println(ex);
        }
    }   
});
Run Code Online (Sandbox Code Playgroud)

运行时错误

Exception in thread "AWT-EventQueue-0" java.lang.NoClassDefFoundError: org/apache/commons/logging/LogFactory
    at net.sf.jasperreports.engine.util.JRLoader.<clinit>(JRLoader.java:81)
    at learnReport.Learning$6.actionPerformed(Learning.java:195)
    at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
    at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
    at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
    at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
    at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown Source)
    at java.awt.Component.processMouseEvent(Unknown Source)
Run Code Online (Sandbox Code Playgroud)

小智 5

你错过了jar文件"org-apache-commons-logging.jar".将此jar加载到您的项目中.问题将得到解决.

  • 谢谢顺便说一下,我还需要加载另一个罐子.这是我加载的所有jar,`commons-beanutils-1.8.0.jar``comons-collections-3.2.1.jar``comons-digester-2.1.jar``commons-logging-1.1.1.jar ``groovy-all-2.0.1.jar``jdt-compiler-3.1.1.jar``joda-time-2.4.jar` (3认同)