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。