为什么Java无法识别net.sf.jasperreports.engine.util.JRLoader类?

时间:2017-07-04 15:48:39

标签: java dependencies version libraries

下午好。 我正在研究JDK 1.6。

我正在尝试将JasperReports集成到我工作的公司的Java Web应用程序中。首先,我创建了一个简单的Java Application来测试报告生成,我使用了下一个库(jar):

  • Commons collections 3.2.1
  • Commons beanutils 1.9.0
  • Commons digester 2.1
  • Commons logging 1.2
  • Groovy all 1.8.0
  • Joda time 2.0
  • JasperReports 6.0.0

通过这些,我能够创建一个报告,但是,当我将这些库转移到Java Web应用程序时,发生了下一个异常:

javax.faces.FacesException: #{bean.functionCalled}: java.lang.reflect.InvocationTargetException
    at com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:118)
    at org.primefaces.application.CleanupActionListener.processAction(CleanupActionListener.java:42)
    ...
Caused by: javax.faces.el.EvaluationException: java.lang.reflect.InvocationTargetException
    at javax.faces.component.MethodBindingMethodExpressionAdapter.invoke(MethodBindingMethodExpressionAdapter.java:102)
    at com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:102)
    ... 51 more
Caused by: java.lang.reflect.InvocationTargetException
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    ... 52 more
Caused by: java.lang.NoClassDefFoundError: net/sf/jasperreports/engine/util/JRLoader
    ... 85 more
Caused by: java.lang.ClassNotFoundException: net.sf.jasperreports.engine.util.JRLoader
    at java.net.URLClassLoader$1.run(Unknown Source)
    ...
    ... 86 more

我发现问题的原因是commons loggin版本或库组合。 默认情况下,此Java Web应用程序具有以下库:

  • Commons collections 3.2
  • Commons beanutils 1.6
  • Commons digester 1.8.1
  • Commons logging 1.1.1
  • Groovy all 1.5.4
  • Joda时间1.6

我正在制作不同版本的组合但不能正常工作,问题仍然存在。

你推荐我什么?

非常感谢你。

1 个答案:

答案 0 :(得分:0)

这是类路径问题中缺少的jar。

我遇到了这个问题,发现通过将缺少的jar添加到类路径中,它解决了这个问题。

从下面的文章java.dzone.com文章here我发现必需的最小罐子是......现在版本号已经改变了但是只有这些库才能让它运行起来。

  1. jasperreports-3.5.3.jar及以上版本
  2. commons-digester-2.1.jar
  3. commons-collections-3.2.jar(commons-collections.jar)
  4. commons-logging-1.2.jar
  5. commons-beanutils.jar
  6. iText-5.0.jar(用于infor PDF导出)