java - Jasper 报告未找到 HtmlComponent 类

标签 java jasper-reports

我通过使用 iReport 放置 HTML 调色板设计了一个简单的报告。当我运行报告时,出现此异常:

Caused by: java.lang.ClassNotFoundException: net.sf.jasperreports.components.html.HtmlComponent from [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 类。但我仍然遇到同样的错误。请帮忙。

最佳答案

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

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

然后按照此链接中描述的命令在项目中安装第 3 方 jar Guide to installing 3rd party JARs

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

然后构建工程,问题解决。

关于java - Jasper 报告未找到 HtmlComponent 类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31157452/

相关文章:

java - 如何移动整个布局以适应不同打印机上的预打印表单

java - 如何不仅获取字符串的所有子字符串,还获取字符串的所有可能的子字符串?

java - 为什么我会收到 NullPointerException?

java - 是否有 Java 库可以从 AST 生成类文件?

java - Hibernate:线程 "main"org.hibernate.exception.SQLGrammarException 中出现异常: 'DTYPE' 中的未知列 'field list'

java 。 REST 服务 + Jasper 报告。无法打印标签(或找不到)

mysql - JRValidationException : Report design not valid

java - 使用循环动态显示 jasper 子报告中的多个图像

java - 如何从邮件内容中提取 "registration"URL

java - 使用预编译的 jasper 文件或在运行时编译 jrxml 模板是否更好?