【发布时间】:2015-12-28 14:32:38
【问题描述】:
我正在开发一个使用旧版本 jasper 报告的旧版应用程序。现在从 7 月开始,构建失败了,因为 jasper 报告版本 2.0.5 依赖于 itext 版本 [1.02b,),而 itext 版本又指向 maven 存储库中不存在的版本 4.2.2。更多详情在下面的链接中给出
Dependency error in jasper-reports from itext
根据答案,我将 jasperreports 版本更新为 3.5.3
<dependency>
<groupId>jasperreports</groupId>
<artifactId>jasperreports</artifactId>
<version>3.5.3</version>
</dependency>
也试过了
<dependencies>
<dependency>
<groupId>jasperreports</groupId>
<artifactId>jasperreports</artifactId>
<version>2.0.1</version>
<exclusions>
<exclusion>
<groupId>com.lowagie</groupId>
<artifactId>itext</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>com.lowagie</groupId>
<artifactId>itext</artifactId>
<version>2.1.7</version>
<scope>compile</scope>
</dependency>
...
在这两种情况下,构建都是成功的,但是在部署应用程序时,在运行时我尝试生成报告时,我得到了错误
net.sf.jasperreports.engine.JRException:报告编译器类不 找到:org.codehaus.mojo.jasperreports.MavenJavacCompiler
我无法找出导致问题的原因。服务器上的 JRE 版本是 1.5,我尝试在 1.5 和 1.6 中构建应用程序,但在两个帐户上都失败了。
请帮忙。
谢谢, 塔塔
【问题讨论】:
-
检查所有 .jasper 文件是否与 jasper 运行时对齐?用当前版本重新编译所有报告
-
似乎这是一个 Maven 依赖问题。您可以通过启动 mvn 依赖项来共享由 maven 解析的 jasper 和 itext 版本,而不是 pom.xml 中的版本:tree
-
@Tatha 请分享项目的依赖树。另外尝试使用
com.lowagie组中的4.2.2或itext组中的4.2.1。(最新版本)此外,jasperreports 已移至Jasper's Maven Repo,请检查。 -
@loic mathie 和 nullpointer:抱歉耽搁了,但我不知道如何编辑来自 Tatha 的问题,所以我将发布我的依赖关系树作为答案。我在理解所有与 Maven 相关的东西方面也遇到了很大的问题。我刚接触到一个旧项目。我尝试使用 maven 构建并遇到了与 Tatha 以前相同的问题/JRException。
标签: java maven jasper-reports itext