【发布时间】:2017-04-13 13:38:33
【问题描述】:
Grails 版本:2.3.4
Java 版本:1.7.0_79
我在一个独立的应用程序中开发了一个到 AWS S3 的上传器,该应用程序是最新版本的 Grails 中的。它正在工作,我现在一直在尝试将它实现到我较旧的 Grails 主应用程序中。
关于这行代码,我在服务器启动时遇到错误:
import grails.validation.Validateable
import org.springframework.web.multipart.MultipartFile
abstract class FeaturedImageCommand implements Validateable {
MultipartFile featuredImageFile
Long id
Long eventId
Integer version
static constraints = {
id nullable: false
version nullable: false
eventId nullable:false
featuredImageFile validator: { val, obj ->
if ( val == null ) {
return false
}
if ( val.empty ) {
return false
}
['jpeg', 'jpg', 'png'].any { extension -> // <1>
val.originalFilename?.toLowerCase()?.endsWith(extension)
}
}
}
}
错误显示:
在非抽象类中不能有抽象方法。必须将“FeaturedImageCommand”类声明为抽象类,或者必须实现“java.lang.Class.annotationType()”方法。
我假设我的 java 和 grails 版本导致了这个问题,但我真的希望有办法解决这个问题而不更新它们?
谢谢。
【问题讨论】:
-
你有什么不明白的!?
Can't have an abstract method in a non-anstract class. -
我不明白这个解决方案在我的项目中与旧版本相比如何工作
标签: java validation class grails abstract