当前位置: 首页 > 知识库问答 >
问题:

如何避免获取java.lang.noClassDefFoundError:org/apache/commons/logging/logFactory

柳项明
2023-03-14

我有一个NetBeans项目,我想在其中设计jasper报表,当我通过JasperFillManager.FillReport填充报表时,我发现了一条错误消息。

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.noClassDefounderror:org/apache/commons/logging/logFactory在net.sf.jasperReports.engine.util.jrloader.(jrloader.java:68)在net.sf.jasperReports.engine.jrpropertiesUtil.loadproperties(jrpropertiesUtil.joadproperties(jrpropertiesUtil.java:99)在f.jasperReports.engine.defaultJasperReports.engine.jasperReports.jasperReports.jasperReports.jasperManager.GetDefaultInstance(JasperFillManager.java:85)在job.newClass.jbutton2ActionPerform(newClass.java:64)在job.newClass.Access$000(newClass.java:21)在job.newClass.Access$1.在AX.SWING.ABST在javax.swing.defaultButtonModel.FireActionPerformed(DefaultButtonModel.java:387)在javax.swing.defaultButtonModel.setPressed(DefaultButtonModel.java:242)在java.swing.plaf.basic.basicButtonListener.java:236)在java.awt.component.processMouseEvent(component.java:6134)在a.awt.container.ProcessEvent(container.java:2023)在java.awt.component.dispatcheventimpl(component.java:4501)在java.awt.container.dispatchevent(container.java:2081)在java.awt.component.dispatchEvent(component.java:2081)在java.awt.lightweightdispatcher.retargetMouseEvent(component.java:4331)在7)在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.pumpEventForFilters(dispatchThread.pumpEvents(eventDispatchThread.java:161)在java.awt.eventDispatchThread.run(eventDispatchThread.java:122)由:java.lang.ClassNotFoundException:org.apache.commons.logging.LogFactory在java.net.urlClassLoader$1.run(urlClassLoader.java.security.AccessController.doprivileged(原生方法)在lass(launcher.java:301),java.lang.ClassLoader.LoadClass(classLoader.java:252),java.lang.ClassLoader.LoadClassInternal(classLoader.java:320)...35个以上

共有1个答案

岳枫
2023-03-14

需要将公域日志记录添加到类路径中。如果您在普通的Netbeans项目中工作(而不是在Netbeans中的Maven项目中工作),请查看这个SO问题或解释如何向项目中添加库的文章。

另一方面,如果您正在使用Netbeans处理Maven项目,则必须将公共日志记录添加为依赖项。如何做到这一点可以在这里找到--基本上是右击项目树中的libraries节点,添加依赖项,输入人工制品详细信息,或者使用内置的搜索助手在Maven存储库中找到正确的人工制品。

 类似资料:
  • 问题内容: 我总是遇到以下错误。有人可以帮我吗? 当我编译以下代码时。我已经在网上搜索了,但没有找到解决方案。添加saveToCassandra时出现错误。 我的pom是以下内容。 问题答案: org.apache.spark.Logging在Spark版本1.5.2或更低版本中可用。它不在2.0.0中。请更改版本如下

  • 问题内容: 我想在我正在使用的Elasticsearch中执行单元测试, 我正在使用 并参考以下链接以寻求帮助 https://www.elastic.co/guide/en/elasticsearch/reference/1.6/using- elasticsearch-test-classes .html https://github.com/elastic/elasticsearch/blo

  • 问题内容: 为什么会发生以下情况,我该如何解决? 问题答案: 这意味着运行时类路径中缺少该类。您只需要将包含该类的JAR文件添加到运行时类路径即可。这是Apache Commons Lang JAR文件 。当前的Jsoup下载页面也明确提到了这一点。 假设您像上一个问题一样使用普通香草启动它,然后执行以下操作: 请注意,Jsoup作者曾提到在下一个Jsoup版本中删除Commons Lang依赖项

  • 问题内容: 我遇到 错误,并且这个错误困扰了一个多月。我尝试了所有可用的Digester版本,还检查了classpath中是否有重复的JAR。 我已经设计了报告,并使用了来自 和其他必需JAR的JAR。 错误日志: 问题答案: 如果抛出该异常,则应检查是否在类路径中正确加载了所需的jar,或者您正在混合使用的版本和类名可能不同(或它的行为)。检查您要添加的Digester jar是否是必需的。 检

  • 问题内容: 我正在尝试编写程序来读取CSV文件,然后用它做一些东西。我进行了很多搜索,终于找到了这个库。 几天前,我完成了代码,一切正常。今天,我将该库更新为4.0 v,然后弹出了很多警告。 我进行了一些测试,但失败的部分是: 这个。 警告是: 这个 我知道这是一个库问题,但是我不知道是什么库导致的,或者我是否需要更新或安装某些东西。 非常感谢你。 问题答案: 似乎您没有使用apache comm

  • 问题内容: 我是 JasperReports的 新手,我想将 JasperReports 集成到我的Java程序中,因此,当我单击“打印”按钮时,程序将显示报告。但是,当我单击按钮时,出现 NoClassDefFoundError 。 码 运行时错误 问题答案: 您已经错过了jar文件“ org-apache-commons-logging.jar”。将此jar加载到您的项目中。该问题将得到解决。