Groovy 静态编译代码中的扩展方法
Groovy extension methods in statically compiled code
在 Groovy 中有很多方法可以定义现有类型的扩展方法,例如meta-class、类别、扩展模块等。我想知道,它们中哪些与通过@CompileStatic 进行的静态编译兼容。我知道可以将预构建的扩展模块 jar 放入 classpath 中,为例如提供扩展方法String 然后写一个 @CompileStatic Groovy class ,它使用扩展模块中的扩展方法。但是,我想要一个解决方案,我可以在同一个项目中定义扩展方法,这样我就不必提前构建扩展模块。这在 Groovy 中可行吗?
评论中tim_yates的回答:很可能不可能,见here。
在 Groovy 中有很多方法可以定义现有类型的扩展方法,例如meta-class、类别、扩展模块等。我想知道,它们中哪些与通过@CompileStatic 进行的静态编译兼容。我知道可以将预构建的扩展模块 jar 放入 classpath 中,为例如提供扩展方法String 然后写一个 @CompileStatic Groovy class ,它使用扩展模块中的扩展方法。但是,我想要一个解决方案,我可以在同一个项目中定义扩展方法,这样我就不必提前构建扩展模块。这在 Groovy 中可行吗?
评论中tim_yates的回答:很可能不可能,见here。