2015-07-01 132 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