首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何避免获取日志:org/apache/commons/java.lang.NoClassDefFoundError/LogFactory

如何避免获取日志:org/apache/commons/java.lang.NoClassDefFoundError/LogFactory
EN

Stack Overflow用户
提问于 2013-06-15 01:35:41
回答 1查看 8.9K关注 0票数 0

我有一个NetBeans项目,其中我想要设计贾斯珀报告,当我通过JasperFillManager.fillReport填充报告时,我发现了一个错误信息。

我该如何解决这个问题?

我使用过iReport 5.0.0和JasperReports库5.1.0。

我的代码描述如下

代码语言:javascript
复制
try {
    String reportName = "./rptJobList.jasper";
    InputStream is = new FileInputStream(reportName);
    Class.forName("com.mysql.jdbc.Driver");
    Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3306/js001?user=root&password=admin");
    JasperPrint jasperPrint = JasperFillManager.fillReport(is, null, con);
    JasperViewer jv = new JasperViewer(jasperPrint);
    jv.setVisible(true);
} catch (Exception ex) {
}

例外情况是:

线程"AWT-EventQueue-0“中的

异常java.lang.NoClassDefFoundError: org/apache/commons/logging/LogFactory at net.sf.jasperreports.engine.util.JRLoader.(JRLoader.java:68) at net.sf.jasperreports.engine.JRPropertiesUtil.loadProperties(JRPropertiesUtil.java:99) at net.sf.jasperreports.engine.DefaultJasperReportsContext.initProperties(DefaultJasperReportsContext.java:94) at net.sf.jasperreports.engine.DefaultJasperReportsContext.(DefaultJasperReportsContext.java:71) atnet.sf.jasperreports.engine.DefaultJasperReportsContext.(DefaultJasperReportsContext.java:59)在net.sf.jasperreports.engine.JasperFillManager.getDefaultInstance(JasperFillManager.java:85)在net.sf.jasperreports.engine.JasperFillManager.fillReport(JasperFillManager.java:824)在job.NewClass.jButton2ActionPerformed(NewClass.java:64)在job.NewClass$1.actionPerformed(NewClass.java:42)在javax.swing.AbstractButton.fireActionPerformed(AbstractButton在job.NewClass.access$000(NewClass.java:21)javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2318) at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:387) at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:242) at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:236) at java.awt.Component.processMouseEvent(Component.java:6134) at javax.swing.JComponent.processMouseEvent(JComponent.java:3265) at .java:1995)java.awt.Component.processEvent(Component.java:5899)在java.awt.Container.processEvent(Container.java:2023)在java.awt.Component.dispatchEventImpl(Component.java:4501)在java.awt.Container.dispatchEventImpl(Container.java:2081)在java.awt.Component.dispatchEvent(Component.java:4331)在java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4301)在java.awt.LightweightDispatcher.processMouseEvent(Container.java:3965)在java.awt.LightweightDispatcher.dispatchEvent(Container.java:3895)在java.awt.Container.dispatchEventImpl(Container.java:2067)在java.awt.Window.dispatchEventImpl(Window.java:2458)在java.awt.Component.dispatchEvent(Component.java:4331)在java.awt.EventQueue.dispatchEvent(EventQueue.java:599)在java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269)在java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184) at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161) at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)由: java.net.URLClassLoader$1.run(URLClassLoader.java:200) at java.lang.ClassNotFoundException: org.apache.commons.logging.LogFactory at java.security引起。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)的AccessController.doPrivileged(本机方法) ...更多35个

EN

回答 1

Stack Overflow用户

发布于 2013-06-15 01:49:25

需要将Commons Logging添加到类路径中。如果您在一个常规的Netbeans项目中工作(而不是在Netbeans中的Maven项目中),请查看解释如何向项目添加库的this SO questionthis article

另一方面,如果您正在使用Netbeans处理Maven项目,则必须将Commons logging添加为依赖项。如何做到这一点可以在here中找到-基本上它是在项目树中的库节点上单击鼠标右键,添加依赖项,输入artefact详细信息,或者使用内置的搜索助手在Maven存储库中定位正确的artefact。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17114196

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档