gpt4 book ai didi

java - JasperReports 不适用于 Grails 2.4 : Could not initialize class net. sf.jasperreports.engine.xml.JRXmlDigesterFactory

转载 作者:行者123 更新时间:2023-12-01 12:41:15 27 4
gpt4 key购买 nike

我正在使用 grails 版本 2.4.0 和 JasperReports 插件:1.9.0(也尝试过版本 jasper-1.10.0-SNAPSHOT),但是当我导出到 pdf 时出现错误。

当我第一次启动项目时,我运行导出报告并收到此消息

org.apache.commons.collections.map.ReferenceMap

之后,当我再次尝试时,它显示此错误。

Could not initialize class net.sf.jasperreports.engine.xml.JRXmlDigesterFactory

它似乎与 2.4.0 版本竞争,因为它可以在 2.2.4 上运行

这是我的代码

在 Controller 中

def results = new ArrayList()
def reportFolder = "${grailsApplication.parentContext.getResource('reports').file.absolutePath}"
def sep = System.getProperty('file.separator')
def app = Applicant.get(2)
results.add(
first: app.firstName,
middle: app?.middleInitial,
last: app.lastName,
ssn: app.ssn,
workPhone: app.workPhone,
homePhone: app.homePhone
)
reportService.exportPDFReport("${reportFolder}${sep}aaa.jrxml", results, params, response)

服务中(注意服务名为:reportService)

def exportPDFReport(String reportPath, results, params, response) {
def temp_file = File.createTempFile("jasperReport", ".pdf")
def jrDataSource = new JRMapCollectionDataSource(results)
JasperReport jReport = JasperCompileManager.compileReport(reportPath)
JasperPrint print = JasperFillManager.fillReport(jReport, params, jrDataSource)
JasperExportManager.exportReportToPdfFile(print, temp_file.absolutePath)
response.setContentType("application/force-download")
response.setHeader("Content-Transfer-Encoding", "binary")
response.setHeader("Content-disposition", "attachment; filename=${jReport.name}.pdf")
response.outputStream << temp_file.newInputStream()
temp_file.deleteOnExit()
}

有什么想法吗?

最佳答案

2.4 或更高版本。您无法组合 jasper 插件,因为它缺少第三方库。

解决这个问题很容易。您只需将这些 jar 复制到您的/lid

  • org.apache.commons.collections.jar
  • commons-beanutils-1.9.2.jar

当然100%有效:-)

关于java - JasperReports 不适用于 Grails 2.4 : Could not initialize class net. sf.jasperreports.engine.xml.JRXmlDigesterFactory,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25077694/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com