【发布时间】:2019-05-06 08:19:02
【问题描述】:
- Grails 版本:3.2.9
- Gradle 初始版本:3.4.1(此版本一切正常)
- Gradle 升级版本:4.10.3
- 插件:org.grails.grails-gsp
当我将 gradle 版本升级到 4.10.3 后运行 gradlew war 时,在执行 compileGroovyPages 任务期间开始出现以下错误:
dashboard_gsp.groovy: 2: 无法解析类 com.abnd.CarStatusEnum
@第 2 行,第 1 列。
导入 com.abnd.CarStatusEnum
^
com.abnd.CarStatusEnum 类的位置是 src/main/groovy/com/abnd/CarStatusEnum,在运行构建的同一项目中,gradlew war 任务使用 gradle 版本 3.4.1 成功完成。但是,当我将 gradle 版本升级到 4.10.3 时,我开始收到此错误。 gradle 4.1 版也是如此。
1) 任何线索可能是什么问题?
2) 将 gradle 版本 4.x.x 或 5.x.x 与 grails 版本 3.x.x 与 gradle 5.x.x 一起使用是个好主意吗?作为一些 grails 插件(如 grails-gsp v3),我开始遇到更多问题.3.2 是最新的稳定版本)使用一些已在 gradle 4.x.x 中弃用并从 gradle 5.x.x 中删除的功能(请参阅下面的错误)?
无法应用插件 [id 'org.grails.grails-gsp']
无法获取 org.gradle.api.internal.tasks.DefaultSourceSetOutput 类型的主类的未知属性“classesDir”。
【问题讨论】:
-
您在构建中有些东西不同步。如果没有看到来源,可能很难准确地说出那是什么。我建议将 Gradle 5.1.1 与 Grails 4.0.0.RC1 一起使用。
-
@JeffScottBrown 我目前无法升级 grails,只需要升级 gradle 才能使用成熟版本的构建缓存。不幸的是,由于明显的原因,我无法在此处发布我的构建脚本,但我想知道如何继续,因为错误消息没有多大帮助。
org.grails.grails-gsp插件是否可能与 gradle 4 不兼容? -
我将首先使用您正在使用的任何版本的 Grails 创建一个新项目,并将该构建脚本与升级后的脚本进行比较,看看是否有任何看起来相关的内容。
-
100 次道歉。我看错了标题。我以为您正在从 Grails 3 升级到 Grails 4。我现在看到您正在从 Gradle 3 升级到 Gradle 4。很抱歉造成混淆。