grails - 如何在 Grails 2 和 Grails 3 之间共享域代码库

标签 grails groovy grails-orm grails-2.0 grails-3.0

目前,我们有多个基于 grails 2.5.0 构建的 grails 应用程序

我们的模型在一个 grails 插件 (2.5.0) 中,发布到本地 maven 存储库。到目前为止,一切都很好。

现在我们想用 Grails 3 创建一个新的应用程序,它依赖于 grails2 插件中的一些基本域(用户、组等)。

分享这些最好的方法是什么?我不想为我们的模型维护两个代码库,一个用于 v2,一个用于 v3 ...

我唯一想到的是,在普通的 groovy 类/接口(interface)中构建所有内容,然后在 grails2 和 grails3 插件中扩展/实现模型

  • 核心模型(包含接口(interface)、抽象类)
  • grails-model-v2
  • grails-model-v3
  • 最佳答案

    你在正确的轨道上。域类可能会保持不变,但问题是 grails 插件项目不兼容。所以你可以使用一个普通的 groovy 项目来容纳你的域,然后让每个插件依赖于域项目。棘手的部分是告诉 grails 那些普通的 groovy 类是域。在 grails 3 中,您可能只需使用 doWithSpring() 将 grails 自动应用于域的 groovy 特征应用到域。我认为 grails 2 使用 metaClass 来完成同样的事情,所以方法可能是相似的。

    关于grails - 如何在 Grails 2 和 Grails 3 之间共享域代码库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31653952/

    相关文章:

    hibernate - Grails:无法设置参数的值,并且获取时不能为null

    grails - 如何在Grails Controller 上的Bean实例中 “persist in memory”更改

    groovy - TestNG Groovy dependsOnMethods

    groovy - 在不同的对象上调用闭包?

    hibernate - Grails hasMany 枚举和自定义 Hibernate UserType

    grails - ClassNotFoundException : SimpleKeyGenerator upgrading to Grails 2. 4.0.RC1

    grails - 使用http构建创建soap请求

    gradle - Ratpack + Thymeleaf + ShadowJar - 解析模板时出错 "home",模板可能不存在或无法访问

    mysql - 如何使事务在 Grails 中工作

    hibernate - grails findAllBy 搜索外键时的问题