将应用程序从Grails 2.2.5升级到3.0

时间:2015-09-01 13:56:33

标签: grails grails-3.0 grails-2.2

我有一个正在运行的Grails应用程序,几年前使用Grails 2.0.0.RC1启动,并在版本之后更新为2.2.5。在这次更新之后,我偶尔只会在它上面工作,因为项目已经完成了#34;只进行错误修复。

现在我需要对其进行大量工作,因此我计划将其升级到Grails 3.0,以便使用最新版Grails中添加的新功能。

这个项目有~25个域类,~20个控制器,一堆服务,一些自定义taglib并使用一些插件:jasper,shiro,searchable。

作为一般性建议,documentation says

  

升级插件或应用程序时最好的方法(如果您的应用程序使用多个插件,插件需要先升级)是创建一个同名的新Grails 3.0应用程序并将源文件复制到正确的新申请中的位置。

对于我的情况,这真的是最好的方法,还是有其他方法(更快,更少痛苦)来实现这一目标?你已经处理过了吗?你做了什么?

3 个答案:

答案 0 :(得分:3)

Grails 3.0是对Grails的完全重写,因此,正如官方文档所述,最好的方法是创建一个新的应用程序,然后在其中复制源文件(src/javasrc/groovygrails-app)和静态资产到asset文件夹。接下来,您必须迁移配置(例如,Config.groovy中的配置应该在application.ymlapplication.groovy)和依赖项文件(BuildConfig.groovybuild.gradle)。

整个过程在您提供的官方链接中有详细描述。 最后,正如 Emmanuel Rosa 所述,请确保您使用的插件都是Grails 3.x兼容的。

答案 1 :(得分:2)

我将一个项目从2.2升级到2.4,直到我创建一个新的2.4项目并复制了所有内容之后,这个项目才能正常工作。我无法想象你使用任何其他方法进行的跳跃是否成功。

用你最喜欢的零食蹲下来,在你的dvcs(git,mercurial等)中打开一个分支并稳步前进。它不会那么糟糕。您的挑战可能是配置和缺少插件。域和控制器等大多数文物都将保持不变。

说到插件,请确保您需要的所有插件都兼容3.0。

答案 2 :(得分:0)

对于将来的参考,您可以将这些链接视为参考:

Upgrading Grails 3

Grails 3 Upgrading from 3.2.x to 3.3.0

从2升级到3并非不可能。

  1. 您需要查看更改日志
  2. 请参阅配置和文件夹结构的更改
  3. 请记住新的插件和过时的
  4. 配置您的IDE(如果您使用过) - gradle,groovy ..使用Grails 3 Intellij似乎是最佳选择
  5. 最后,您需要进行大量测试 - 使用空基础和旧版数据
  6. 对于一个小项目,我花了一天时间进行升级。