Groovy版本降级2.2.1

时间:2016-04-13 13:10:58

标签: groovy

我们一直在使用groovy 2.3.6构建我们的应用程序。现在由于一些平台级问题,我们建议将我们的groovy版本降级到2.2.1。我面对的不是。关于这次降级的问题。

groovy无法在2.2.1中推断出它的变量类型,所以如果我有这样的代码

names.any { sliceName.endsWith(it) }

它给了我异常

[Static type checking] - Cannot find matching method java.lang.String#endsWith(java.lang.Object)

其次,我在集合中使用的所有默认方法似乎都不存在

positions.any { it.primary }

groovy无法在列表中找到任何方法。

一种方法是关闭静态类型检查,这将使代码暴露更多的运行时错误。

有没有办法解决这些错误,而无需关闭静态类型检查。这些功能也仅在groovy 2.3.6中添加,如默认的groovy方法和类型推断变量

1 个答案:

答案 0 :(得分:2)

如果你回到旧版本,旧的bug会咬你。

尝试给静态编译器提供更多提示

names.any { String it -> sliceName.endsWith(it) }