升级到 2.3.5 后不再调用 BootStrap 中添加的 Grails 事件方法

标签 grails groovy

在我们的 Grails 2.2.3 应用程序中,我们通过向 BootStrap.groovy init 中的元类添加事件处理方法来向所有域类添加事件处理方法,如下所示:

 for(gc in grailsApplication.domainClasses) {
     gc.metaClass.beforeInsert = {
         //our code
     }
     gc.metaClass.beforeUpdate = {
         //our code
     }
 }

(受这篇文章的启发:https://stackoverflow.com/a/9289678/1877147)

这在 2.2.3 中工作正常,但在升级到 2.3.5 后不再工作。这些方法被添加到元类中但从未被调用。从文档中看,这些事件方法似乎没有被删除或更改或任何其他内容。有没有其他方法可以在 2.3.5 中运行?

最佳答案

在 BuildConfig 中,我们改用 maven 作为依赖解析器而不是 Ivy,现在这个问题不再出现。

关于升级到 2.3.5 后不再调用 BootStrap 中添加的 Grails 事件方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21836442/

相关文章:

grails - 有没有一种有效的方法可以从从数据库加载的字符串中调用 Grails 模板?

Grails 2.0 CreateCriteria私有(private)属性无法查询

grails - DataSource.groovy类路径

java - Grails UnitTest 确保 BigDecimal 不是字符串

unit-testing - Spock 中的运行时异常模拟 groovy.sql

elasticsearch - 如何在Elasticsearch中使用Groovy脚本评分拒绝文档

grails - 使用Micronaut声明式客户端从Flowable响应中获取 header

grails - Grails平台核心,导航API:添加分隔符的简便方法?

spring - 如何在 doWithSpring 中获取 beanBuilder 实例

java - groovy 调用 Java 父类(super class)中的私有(private)方法