3

我有一个正在运行的 Grails 应用程序,几年前从 Grails 开始,并一个2.0.0.RC1又一个版本更新为2.2.5. 在这次更新之后,我只是偶尔在它上面工作,因为项目已经“完成”,只做错误修复。

现在我需要在它上面做很多工作,所以我计划将它升级到 Grails 3.0,以便使用最新版本的 Grails 中添加的新功能。

这个项目有大约 25 个域类、大约 20 个控制器、一堆服务、一些自定义标记库并使用了一些插件:jasper、shiro、可搜索。

作为一般建议,文档

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

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

4

3 回答 3

3

Grails 3.0 是对 Grails 的彻底重写,因此,正如官方文档所说,最好的方法是创建一个新应用程序,然后首先将其中的源文件 ( src/java, src/groovy, grails-app) 和静态资源复制到asset文件夹中。接下来,您必须迁移配置(例如,配置Config.groovy现在应该在application.ymlor中application.groovy)和依赖文件(BuildConfig.groovyto build.gradle)。

整个过程在您提供的官方链接中得到了很好的描述。最后,正如Emmanuel Rosa上面所说,确保您使用的插件都与 Grails 3.x 兼容。

于 2015-09-04T09:53:53.533 回答
2

是的。

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

只需蹲下你最喜欢的零食,在你的 dvcs(git、mercurial 等)中打开一个分支,然后稳步前进。它不会那么糟糕。您的挑战可能是配置和缺少插件。大多数人工制品(例如域和控制器)将保持不变。

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

于 2015-09-01T19:04:20.317 回答
0

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

升级 Grails 3

Grails 3 从 3.2.x 升级到 3.3.0

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

  1. 您需要查看更改日志
  2. 查看配置和文件夹结构的变化
  3. 记住新插件和过时的插件
  4. 配置你的 IDE(如果你用过的话)——gradle、groovy .. 使用 Grails 3 Intellij 似乎是最好的选择
  5. 最后,您需要进行大量测试 - 使用空基,使用您的遗留数据,

对于一个小项目,我花了一天时间进行升级。

于 2017-08-16T11:02:12.667 回答