Generics GrailsTypeChecked/CompileStatic/GrailsCompileStatic

Generics GrailsTypeChecked/CompileStatic/GrailsCompileStatic,generics,grails,project,type-safety,duck-typing,Generics,Grails,Project,Type Safety,Duck Typing,有没有办法将@TypeChecked、@GrailsCompileStatic、@CompileStatic的功能添加到整个grails项目中 为了解释我现在正在处理的代码是在grails中,我希望编译失败的简单事情只是传递,有时是工作,有时只是等待运行时抛出失败。使用泛型之类的其他方法会引发编译错误 @TypeChecked修复了一般性问题,@GrailsCompileStatic和@CompileStatic突出显示了许多其他问题—变量命名错误、不存在的问题、不匹配的类型,以及其他可能或可能

有没有办法将@TypeChecked、@GrailsCompileStatic、@CompileStatic的功能添加到整个grails项目中

为了解释我现在正在处理的代码是在grails中,我希望编译失败的简单事情只是传递,有时是工作,有时只是等待运行时抛出失败。使用泛型之类的其他方法会引发编译错误

@TypeChecked修复了一般性问题,@GrailsCompileStatic和@CompileStatic突出显示了许多其他问题—变量命名错误、不存在的问题、不匹配的类型,以及其他可能或可能无法“自动工作”的问题

有没有办法添加@TypeChecked的功能, @GrailsCompileStatic、@CompileStatic到整个grails项目


不需要。Grails应用程序的某些方面需要动态调度。在Grails应用程序中,您不能静态地键入check并静态地编译所有内容。

而我同意其他人所说的,您在某些方面会有所损失

但是,您可以尝试企业Groovy Gradle插件:

默认情况下,这将为您提供静态编译,但也会减慢您将需要动态编译的位置列为白名单的速度。有一个Grails配置可以在一个简单的应用程序中运行。您的里程可能会有所不同。这个项目不会给你IDE支持,尽管像@CompileStatic会


另外,这是我的一个附带项目。

如果这样做,groovy提供的许多功能都将丢失。我不确定这是否可能,但我无法想象如果你真的做到了,这将是一次伟大的经历。从长远来看,解决导致错误的任何因素可能更好。我不确定groovy除了将错误从编译时转移到运行时之外,还提供了哪些“功能”。那么,您可能想了解一下groovy。官方文档非常好,但我发现了很多现实世界中的例子,但这些例子并不总是显而易见的。显然,并不是每种语言都适合每个项目,但至少在目前看来,您似乎一直在使用groovy(和grails),所以不妨学习如何充分使用它!这里的groovy/grails社区不是超级活跃的,但是如果您遇到问题,它通常非常有用。