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

时间:2015-07-27 13:07:58

标签: grails groovy gorm grails-2.0 grails-3.0

目前,我们在grails 2.5.0上构建了多个grails应用程序

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

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

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

我想到的唯一的事情是,在普通的groovy Classes / Interfaces中构建所有内容,然后在grails2和grails3插件中扩展/实现Model

  • 核心模型(包含接口,抽象类)
  • 的grails-模型-V2
  • 的grails-模型-V3

1 个答案:

答案 0 :(得分:2)

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