Apache Groovy 2.5到来:重大改进和光明的未来

Apache Groovy 2.5带来了宏支持、JUnit 5测试、CLIBuilder增强等功能。此外,还有重复注解、JDK 8支持和AST转换的改进。尽管存在一些已知问题,如GDK文档缺失和与某些库的兼容性问题,但Groovy的未来版本将继续提供针对不同Java版本的支持和优化。
摘要由CSDN通过智能技术生成

用于JVM的15年历史的语言Groovy现已发布,其中包含一个经过改进的新版本 ,并且其路线图中还有更多内容。

新版本的绝对亮点是对宏的支持,该宏使您可以在创建编译时元编程扩展时直接使用Groovy语法,而不使用内部编译器表示形式。

但这还不是全部。 让我们检查一下新功能和增强功能。

  • groovygroovyConsole现在可以直接运行JUnit 5测试
  • Groovy CLIBuilder工具可帮助处理命令行参数,现在支持注释样式定义。 此外,经过修订的CLIBuilder版本现在支持Commons CLI和Picocli支持的解析器实现
  • 重复注解
  • 各种JSON定制
  • 现在可以在运行时访问方法参数的名称,JDK 8也支持该功能
  • 对于AST转换, @Canonical现在是一个元注释,可以更灵活地使用组成注释中的注释属性。 开发人员还可以定义自定义元注释
  • @Canonical扩展为@TupleConstructor@EqualsAndHashCode@ToString批注,带有批注,分配给支持它们的组件批注的属性

为了使用Groovy进行构建,需要JDK 8或更高版本。 JDK 7是Groovy 2.5支持的JRE的最低版本。

此外,根据官方发行说明,还有大量固定的问题,在某些情况下,这些问题也可能被视为破坏更改。 看看这里的清单。

还请参见: Micronaut:支持Java,Groovy和Kotlin的轻量级框架

尽管如此,仍然存在一些问题:

  • 该发行版未包含有关java.time扩展的GDK文档。 它将包含在第一个维护版本(2.5.1)中,但与此同时,可以在此处找到。
  • groovy.util.CliBuilder用户除了groovygroovy-all外,还需要包括org.codehaus.groovy:groovy-cli-commons依赖于其编译类路径。 在下一个维护版本之后将不需要此功能,但是无论如何,用户都应从该类中迁移,因为它将从Groovy的下一个主要版本中删除。
  • Spock 1.1-groovy-2.4的用户在某些测试中可能会发现奇怪的ClassCastException错误。 您可以查看此GitHub存储库以获取帮助。
  • 结合使用final@CompileStaticfinal和Spock的用户可能会看到来自最终变量分析器的错误。 同时,您可能需要暂时删除final修饰符。
  • 需要groovy-xml模块并在JDK9及更高版本上运行的用户,可能需要使用--add-modules java.xml.bind命令行选项来修复由JDK9 +引起的向后兼容性方面的问题。
  • 由于JDK中将来计划的某些限制,JDK9 +会在包括Groovy在内的许多库中生成警告,但正在进行重新设计Groovy的各个部分以减少/删除这些警告的工作。 希望将警告作为临时措施的用户可以考虑使用JDK9 +提供的--add-opens转义子句。 有关要添加的潜在列表,请参见Groovy主分支上的commit 92bd96f (当前已还原)。

还有更多

尽管Groovy 2.5充满了增强功能和已解决的问题,但我们还没有完成。 预计2.6和3.0版本将在明年发布,它们分别针对Java 7和Java 8和9的用户。 在这里查看完整的Groovy路线图。

翻译自: https://jaxenter.com/groovy-major-improvements-145138.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值