【发布时间】:2011-11-05 00:30:31
【问题描述】:
我在 Windows 7 64 位上,使用 JDK 1.6.0_29、groovy 1.8.1 和 JasperReports/iReport 4.1.3。
我的 CLASSPATH 中有来自 JasperReports 发行版的以下 jar:
commons-beanutils-1.8.0.jar、commons-collections-2.1.1.jar、commons-digester-1.7.jar、commons-logging-1.0.4.jar、jasperreports-4.1.3.jar、poi -3.7-20101029.jar
我还尝试在 ${JASPER_HOME}/lib 发行版中添加所有 jar,以防我遗漏了一些重要的 jar。
jasper 报告将由 groovy 脚本生成。我用 iReport 创建了一个非常简单的报告,标题中只包含一些静态文本。我可以在 iReport 中编译和查看报告。
当我尝试从脚本编译报告时:
def jasperReport = JasperCompileManager.compileReport("filename")
我收到以下错误:
Caught: java.lang.AbstractMethodError
java.lang.AbstractMethodError
at net.sf.jasperreports.compilers.JRGroovyCompiler.compileUnits(JRGroovyCompiler.java:96)
at net.sf.jasperreports.engine.design.JRAbstractCompiler.compileReport(JRAbstractCompiler.java:188)
at net.sf.jasperreports.engine.JasperCompileManager.compileReport(JasperCompileManager.java:212)
at net.sf.jasperreports.engine.JasperCompileManager.compileReport(JasperCompileManager.java:145)
at net.sf.jasperreports.engine.JasperCompileManager$compileReport.call(Unknown Source)
at wis_validate_environment.run(wis_validate_environment.groovy:58)
JasperReports 使用的 groovy(来自 stacktrace 的JRGroovyCompiler?)和我用来编译报告的 groovy 之间是否可能存在冲突?
【问题讨论】:
-
也许你应该尝试另一个 groovy 版本。 JR 4.1.3 正在使用 groovy 1.7.5
-
来自 pom.xml 的依赖:
org.codehaus.groovy groovy-all 1.7.5 编译 真可选> 依赖> -
我会尝试看看这是否有效。这将是一个问题,因为我无法在我的服务器环境中安装另一个版本的 groovy。谢谢。
-
我在更改为 groovy 1.7.5 后得到了相同的行为。无论如何都是好主意。
标签: groovy jasper-reports