Jasper报告找不到HtmlComponent类

时间:2015-07-01 09:25:43

标签: java jasper-reports

我通过使用iReport放置HTML调色板设计了一个简单的报告。当我运行报告时,我得到了这个例外:

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

我正在使用此代码。

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 jar作为pom.xml文件中的依赖项包含到我的maven Web项目中:

     <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类。但我仍然得到同样的错误。请帮忙。

2 个答案:

答案 0 :(得分:3)

我已将以下依赖项添加到pom.xml文件中。

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

然后按照此链接Guide to installing 3rd party JARs

中所述的命令在项目中安装第三方jar

mvn install:install-file -Dfile = htmlcomponent.jar -DgroupId = htmlComponent -DartifactId = htmlComponent -Dversion = 1.0 -Dpackaging = jar。

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

答案 1 :(得分:1)

您必须添加htmlcomponent.jar

选中此项以构建htmlcomponent.jar

同时检查this