我設計了一個簡單的報告,通過使用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>
現在我的依存結構是這樣的:
您可以看到htmlComponent依賴項包含net.sf.jasperreports.components.html.HtmlComponent類。但我仍然遇到同樣的錯誤。請幫忙。
請給你看jrxml – Arasu