Apache Groovy 2.4.16 发布了,此版本是 GROOVY_2_4_X 分支的维护版本。虽然官方建议迁移到当前的 2.5.x 版本(目前为 2.5.4), 但对于任何无法升级到 2.5 且使用 2.4.x 版本的用户, 强烈建议升级到此版本,

该版本包含 18 处错误修复/改进:

Bug

  • [GROOVY-7202] - Unable to resolve nested enum of parent class when compiling against binary parent

  • [GROOVY-7536] - Problem with Java Stubs Related to a Trait with Property

  • [GROOVY-7647] - Incorrect line information for debug

  • [GROOVY-8008] - @CompileStatic causes failure to compile Groovy class that calls overloaded Java method

  • [GROOVY-8224] - Stubs for classes implementing traits with fields don't include getters/setters

  • [GROOVY-8505] - ArrayIndexOutOfBoundsException with @Nullable change

  • [GROOVY-8531] - Fail to resolve type defined in super class written in Java

  • [GROOVY-8537] - GroovyCollections.combinations(Iterable) exhibits incorrect (asymmetric) behavior

  • [GROOVY-8539] - Groovy fails to compile assignment operators on boolean array

  • [GROOVY-8600] - BUG! exception in phase 'instruction selection'

  • [GROOVY-8614] - Invalid reference generated in InnerClasses attribute for nested interface

  • [GROOVY-8742] - Line number information for method is confusing debugger

  • [GROOVY-8757] - Incorrect bytecode produced after compiling class implementing trait with generic method

  • [GROOVY-8876] - groovydoc fails with "java.lang.StringIndexOutOfBoundsException: String index out of range: -1" on file with no extension

改进

  • [GROOVY-4585] - backslash can not be escaped by `SimpleTemplateEngine`

  • [GROOVY-8576] - Remove Java2GroovyMain dependency on commons-cli

Task

  • [GROOVY-8528] - Bump ASM to 6.1.1 in 2_4_X

  • [GROOVY-8529] - InvocationWriter also needs fix for calling static interface methods

下载地址:http://www.groovy-lang.org/download.html

Groovy 是一门基于 JVM 的敏捷开发语言,它结合了 Python、Ruby 和 Smalltalk 的许多强大的特性。

Groovy 主要的特点包括:

  • 是一个基于Java 虚拟机的敏捷动态语言

  • 构建在强大的 Java 语言之上 并添加了从 Python、Ruby 和 Smalltalk 等语言中学到的诸多特征

  • 为 Java 开发者提供了现代最流行的编程语言特性,而且学习成本很低(几乎为零)。

  • 支持 DSL(Domain Specific Languages 领域定义语言)和其它简洁的语法,让你的代码变得易于阅读和维护。

  • Goovy 拥有处理原生类型,面向对象以及一个 Ant DSL ,使得创建 Shell Scripts 变的非常简单。

  • 在开发 Web,GUI,数据库或控制台程序时 通过减少框架性代码 大大提高了开发者的效率。

  • 支持单元测试和模拟(对象),可以简化测试

  • 无缝集成 所有已经存在的 Java 对象和类库

  • 直接编译成 Java 字节码,这样可以在任何使用 Java 的地方使用 Groovy。