gpt4 book ai didi

grails - 为 grails 3 应用程序使用 gpc 渲染插件时遇到问题

转载 作者:行者123 更新时间:2023-12-02 13:51:18 31 4
gpt4 key购买 nike

我正在尝试将旧的 grails 应用程序迁移到 grails 3。我正在使用 grails 3.0.10。我在我的旧应用程序中使用渲染插件来生成 PDF,并以这种方式构建了一堆我希望保持完整的 PDF,所以我试图在我的 grails 3 应用程序中安装这个渲染插件。按照建议,我在依赖项下的 build.gradle 中添加了以下行:

compile "org.grails.plugins:rendering:2.0.0-SNAPSHOT"

这似乎正确地提取了这个插件 .jar 文件并且运行应用程序工作。但是,当我尝试通过我的 Controller 将 gsp 渲染为 PDF 时,我得到了一个 NullPointerException,它是由渲染插件中的某些代码抛出的。

这是我从 Controller 方法生成 PDF 的代码:
renderPdf(template: "/pdfs/test", model: [name : 'Amarish'], filename: 'Hello-There.pdf')

由于上述方法不起作用,我还通过依赖注入(inject)将 pdfRenderingService 包含在 Controller 中,然后尝试了以下方法,分别尝试了不同的方法:
ByteArrayOutputStream bytes = pdfRenderingService.render(template: "/pdfs/test", model: [name: 'Amarish'])
response.setContentLength(bytes.length)
response.setContentType('application/pdf')
response.outputStream.write(bytes)

我包括下面的堆栈跟踪。你能告诉我如何纠正这个问题吗?
ERROR org.grails.web.errors.GrailsExceptionResolver - NullPointerException occurred when processing request: [GET] /test/testPDF
Stacktrace follows:
java.lang.reflect.InvocationTargetException: null
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) ~[na:1.7.0_79]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) ~[na:1.7.0_79]
at java.lang.Thread.run(Thread.java:745) [na:1.7.0_79]
Caused by: java.lang.NullPointerException: null
at java.beans.Introspector.getPublicDeclaredMethods(Introspector.java:1281) ~[na:1.7.0_79]
at java.beans.Introspector.getTargetMethodInfo(Introspector.java:1141) ~[na:1.7.0_79]
at java.beans.Introspector.getBeanInfo(Introspector.java:416) ~[na:1.7.0_79]
at java.beans.Introspector.getBeanInfo(Introspector.java:163) ~[na:1.7.0_79]
at grails.plugins.rendering.document.RenderEnvironment.init(RenderEnvironment.groovy:31) ~[rendering-2.0.0-SNAPSHOT.jar:na]
at grails.plugins.rendering.document.RenderEnvironment.with(RenderEnvironment.groovy:68) ~[rendering-2.0.0-SNAPSHOT.jar:na]
at grails.plugins.rendering.document.RenderEnvironment.with(RenderEnvironment.groovy:60) ~[rendering-2.0.0-SNAPSHOT.jar:na]
at grails.plugins.rendering.document.XhtmlDocumentService.generateXhtml(XhtmlDocumentService.groovy:65) ~[rendering-2.0.0-SNAPSHOT.jar:na]
at grails.plugins.rendering.document.XhtmlDocumentService.createDocument(XhtmlDocumentService.groovy:35) ~[rendering-2.0.0-SNAPSHOT.jar:na]
at grails.plugins.rendering.RenderingService.render(RenderingService.groovy:36) ~[rendering-2.0.0-SNAPSHOT.jar:na]
at grails.plugins.rendering.RenderingService.render(RenderingService.groovy:35) ~[rendering-2.0.0-SNAPSHOT.jar:na]
at grails.plugins.rendering.RenderingService.render(RenderingService.groovy:65) ~[rendering-2.0.0-SNAPSHOT.jar:na]
at grails.plugins.rendering.RenderingTrait$Trait$Helper.renderPdf(RenderingTrait.groovy:47) ~[rendering-2.0.0-SNAPSHOT.jar:na]
at com.svp.controller.TestController$_closure1.doCall(TestController.groovy:14) ~[main/:na]
... 3 common frames omitted

最佳答案

您在 build.gradle 依赖项中需要的是

runtime "org.springframework:spring-test:4.2.1.RELEASE"

你的代码就可以正常工作了。祝你好运!

您也可以从 here 添加最新版本

关于grails - 为 grails 3 应用程序使用 gpc 渲染插件时遇到问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34215738/

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