运行报告时发出警告:找到命名空间的两个组件

我使用JasperReports报告有问题。 我运行了我的程序报告,它工作,但有这样的错误信息

net.sf.jasperreports.engine.component.ComponentsEnvironment findComponentBundles 

WARNING: Found two components for namespace http://jasperreports.sourceforge.net/jasperreports/components

当我搜索任何与我相同的推荐时,没有一个是解决方案。 你知道怎么解决这个问题吗?

这个’jrxml文件

                             <font size="12" />                                                                                                                         

这意味着您的JasperReports Library类路径中有几个jar文件…只需使用:

  • 公地的BeanUtils-1.8.0
  • 公地集合-2.1.1
  • 公共沼气池-1.7
  • 公地javaflow-20060411
  • 共享记录-1.0.4
  • Groovy的所有-1.7.5
  • iText的-2.1.7
  • jasperreports-4.5.0(任何版本)
  • PNG-编码器 – 1.5
  • poi-3.7-20101029(或poi-3.6)

问题解决了……

jasperreports-maven-plugin重复了jasperreports依赖。 当我更改jasperreports依赖项的版本但我没有在jasperreports-maven-plugin的依赖项中更改它时,我遇到了问题。

我将primefaces jar文件从3.5更新到4.0。 它解决了这个问题。

对于最新的可下载的jasper jar zip(Japsperreports-6.3.0.jar),它不提供所有需要的jar文件。你必须找到jar文件。 为了消除问题,只需添加

jasperreports-6.3.0.jar,org.apache.commons.collections.jar,commons-logging-1.2.jar,commons-digester-2.1.jar,commons-beanutils-1.8.3.jar,

会工作正常..

只需在报告编译期间从类路径中删除jasperreports-javaflow * .jar。
错误应该消失。