2015-07-01 125 views
0

我设计了一个简单的报告,通过使用iReport HTML调色板。当我运行报告时,我得到以下异常:贾斯珀报告HtmlComponent类未找到

引起:java.lang.ClassNotFoundException:来自Service Module Loader的[Module“deployment.myProject.war:main”中的net.sf.jasperreports.components.html.HtmlComponent ]

我正在使用此代码。

InputStream is; 
JasperReport jReport = null; 
JasperPrint jPrint = null; 

if (Utils.isEmpty(dataList)) { 
    throw new Exception("No data to fill"); 
} 

try { 
    is = Thread.currentThread().getContextClassLoader().getResourceAsStream("/templates/jr/myfile.jasper"); 
    if (is != null) { 
     jReport = (JasperReport) JRLoader.loadObject(is); 
    } 
    if (jReport != null) { 
     if ("JDBC".equalsIgnoreCase(dataSrc)) { 
      Connection con = ((DataSource) (new InitialContext().lookup(""))).getConnection(); 
      jPrint = JasperFillManager.fillReport(jReport, params, con); 
     } else if ("JAVABEAN".equalsIgnoreCase(dataSrc)) { 
      JRBeanCollectionDataSource jrDataSource = new JRBeanCollectionDataSource(dataList); 
      jPrint = JasperFillManager.fillReport(jReport, params, jrDataSource); 
     } 
    } 
} catch (Exception e) { 
    System.out.println(e.getMessage()); 
    throw new Exception("Error generating JR Template:" + templateName, e); 
} 

我在这行例外:

jReport = (JasperReport) JRLoader.loadObject(is); 

我检查了jasperReports.jar,发现没有htmlComponent类。我也使用最新版本的jasperReport库(即6.1.0),并且没有net.sf.jasperreports.components。在它的html.HtmlComponent类。任何人都请帮助我如何使用netbeans将它们包含到我的项目中?

编辑1:我已经包括htmlComponent罐子到我的Maven的Web项目为使用此代码在pom.xml文件的依赖性:

 <dependency> 
    <groupId>net.sf.jasperreports</groupId> 
    <artifactId>htmlcomponent</artifactId> 
    <scope>system</scope> 
    <version>1.0</version> 
    <systemPath>${basedir}/src/lib/htmlcomponent.jar</systemPath> 
    </dependency> 

现在我的依存结构是这样的:

enter image description here

您可以看到htmlComponent依赖项包含net.sf.jasperreports.components.html.HtmlComponent类。但我仍然遇到同样的错误。请帮忙。

+0

请给你看jrxml – Arasu

回答

3

我在pom.xml文件中添加了以下依赖项。

<dependency> 
     <groupId>htmlComponent</groupId> 
     <artifactId>htmlComponent</artifactId> 
     <version>1.0</version> 
    </dependency> 

,然后在项目通过以下命令在此链接描述安装第三方JAR Guide to installing 3rd party JARs

MVN安装:安装文件-Dfile = htmlcomponent.jar -DgroupId = htmlComponent - DartifactId = htmlComponent -Dversion = 1.0 -Dpackaging = jar。

然后构建项目并解决问题。

1

您必须添加htmlcomponent.jar

检查这个建筑htmlcomponent.jar

还要检查this

+0

感谢您的回复。我创建了htmlComponent.jar并将其包含在我的项目中。我的项目是maven web项目。所以我将这个jar文件从本地系统作为依赖包含在pom.xml文件中。代码是: net.sf.jasperreports htmlcomponent 系统 1.0 $ {BASEDIR}/SRC/LIB/htmlcomponent。jar 和htmlComponent已成功添加为我的项目中的依赖关系。但我仍然收到相同的异常。 – saurabh

+0

尝试Maven->更新项目和干净的项目,并从IDE重新启动应用程序? – Arasu

+0

这不起作用。从 saurabh