gpt4 book ai didi

grails - 导入用于 grails 脚本 _Events.groovy 的类

转载 作者:行者123 更新时间:2023-12-02 14:23:56 24 4
gpt4 key购买 nike

在 Grails 2.3.7我正在使用 _Events.groovy钩入WAR打包做一些特殊处理:

_Events.groovy

    import demo.utils.XmlUtil

eventCreateWarStart = { name, stageDir ->
XmlUtil.doSomething()
...
log.debug('done!')
}

在构建 WAR 时,Grails 提示 XmlUtil进口声明。 _Events.groovy不是一个类,所以 import 语句不起作用。如果无法导入自定义类,如何在脚本中使用它?以及如何执行日志记录而不是使用 println ?

更新

根据 this 手动加载类和 this似乎可以解决问题,感谢 Aaron's下面回答:
 eventCreateWarStart = { name, stageDir ->

def xmlUtil = loadRequiredClass('demo.utils.XmlUtil')
xmlUtil.doSomething()
...
grailsConsole.log('done!')
}

loadRequiredClass = {classname ->
classLoader.loadClass(classname)
}

问题
  • Grails 脚本可用的所有隐式对象是什么?
  • 最佳答案

    这是一种痛苦,但当你想到它时,它确实是有道理的。 _Events.groovy是构建过程的一部分,它还负责编译您尝试在 _Events.groovy 中使用的类。 .绝对是一个 catch-22 场景,但我看不出如何在不拆分 _Events.groovy 的情况下做得更好在构建过程的不同阶段编译和加载的单独文件。

    您可以使用 grailsConsole.log("hi")grailsConsole.updateStatus("hi")将输出记录到控制台。

    关于grails - 导入用于 grails 脚本 _Events.groovy 的类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24469911/

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