Grails 4 "Static Type Checking" 错误仅适用于 Date 对象
Grails 4 "Static Type Checking" error only for Date objects
所以我正在从 Grails 3.3.x 迁移到 4.0.13。当我尝试编译我的应用程序时,当我尝试对任何日期 属性 使用 format
方法时出现编译错误。例如
class Event {
Date startDateTime
Date regDeadline
}
然后在我的 GSON class 我有这个
model {
Event event
}
json {
eventDate event.startDateTime.format("MM/dd/yyyy hh:mm a")
regDeadline event.regDeadline.format("MM/dd/yyyy hh:mm a")
}
我得到以下编译错误
Exception in thread "main" org.codehaus.groovy.control.MultipleCompilationErrorsException: startup failed:
raa_domain_grid__event_gson: 10: [Static type checking] - Cannot find matching method java.util.Date#format(java.lang.String). Please check if the declared type is correct and if the method exists.
@ line 10, column 15.
eventDate event.startDateTime.format("MM/dd/yyyy hh:mm a")
^
raa_domain_grid__event_gson: 11: [Static type checking] - Cannot find matching method java.util.Date#format(java.lang.String). Please check if the declared type is correct and if the method exists.
@ line 11, column 17.
regDeadline event.regDeadline.format("MM/dd/yyyy hh:mm a")
这之前没有问题。我怀疑它与 Groovy 升级到 2.5.6 有关,但我看不出那是什么问题。这发生在我的整个应用程序中。当我尝试对它们应用格式时,我所有具有日期作为属性的 类 都会抛出此错误。以上只是一个简单的例子。
刚刚发现 Groovy 2.5 中删除了 Date 辅助方法并放入另一个库 groovy-dateutil
。通过将它添加到我的 Gradle 构建文件中,一切都按预期编译。
所以我正在从 Grails 3.3.x 迁移到 4.0.13。当我尝试编译我的应用程序时,当我尝试对任何日期 属性 使用 format
方法时出现编译错误。例如
class Event {
Date startDateTime
Date regDeadline
}
然后在我的 GSON class 我有这个
model {
Event event
}
json {
eventDate event.startDateTime.format("MM/dd/yyyy hh:mm a")
regDeadline event.regDeadline.format("MM/dd/yyyy hh:mm a")
}
我得到以下编译错误
Exception in thread "main" org.codehaus.groovy.control.MultipleCompilationErrorsException: startup failed:
raa_domain_grid__event_gson: 10: [Static type checking] - Cannot find matching method java.util.Date#format(java.lang.String). Please check if the declared type is correct and if the method exists.
@ line 10, column 15.
eventDate event.startDateTime.format("MM/dd/yyyy hh:mm a")
^
raa_domain_grid__event_gson: 11: [Static type checking] - Cannot find matching method java.util.Date#format(java.lang.String). Please check if the declared type is correct and if the method exists.
@ line 11, column 17.
regDeadline event.regDeadline.format("MM/dd/yyyy hh:mm a")
这之前没有问题。我怀疑它与 Groovy 升级到 2.5.6 有关,但我看不出那是什么问题。这发生在我的整个应用程序中。当我尝试对它们应用格式时,我所有具有日期作为属性的 类 都会抛出此错误。以上只是一个简单的例子。
刚刚发现 Groovy 2.5 中删除了 Date 辅助方法并放入另一个库 groovy-dateutil
。通过将它添加到我的 Gradle 构建文件中,一切都按预期编译。