gpt4 book ai didi

Groovy 模板解析错误 : Unknown type: IMPORT

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

我正在尝试通过 groovy.text.StreamingTemplateEngine (Groovy v2.4.7) 处理一个非常简单的模板。以下是模板文件的全部内容:

<% import org.yaml.snakeyaml.Yaml %>

我知道这不会产生任何输出。我只是想让导入工作。

我收到这个错误:

Caught: groovy.text.TemplateParseException: Template parse error 'Unknown type: IMPORT at line: 1 column: 146. File: StreamingTemplateScript1.groovy ' at line 1, column 4
--> 1: <% import org.yaml.snakeyaml.Yaml %>

这是进行处理的常规代码:

#!/usr/bin/env groovy

def engine = new groovy.text.StreamingTemplateEngine()
def tmplt

if (args.length == 1) {
tmplt = engine.createTemplate(new File(args[0])).make()
}
else {
tmplt = engine.createTemplate(new BufferedReader(new InputStreamReader(System.in))).make()
}

println tmplt.toString()

根据我对 Groovy 模板的了解,包括处理模板的 groovy 脚本中的导入将不起作用(也尝试过)。我已经看到其他人(显然)成功地做了我想做的事情。

我做错了什么?

请注意,我在 grails 之外执行此操作。

最佳答案

回答了我自己的问题。根据 StreamingTemplateEngine 的 Groovy 文档:

This engine has equivalent functionality to the SimpleTemplateEngine but creates the template using writable closures making it more scalable for large templates.

这显然不是真的,因为它不理解import。要在 Groovy 模板中导入库,您必须改用 SimpleTemplateEngine。

我通过设置 Apache Tomcat 和 Groovy Server Pages(没有 grails)来查看 GSP 是否可以导入,从而解决了这个问题。他们能。 GSP 使用 https://github.com/groovy/groovy-core/blob/master/subprojects/groovy-servlet/src/main/java/groovy/servlet/TemplateServlet.java ,它使用 SimpleTemplateEngine。

关于Groovy 模板解析错误 : Unknown type: IMPORT,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38677463/

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