1. 程式人生 > >Apache Groovy 2.4.16 釋出,JVM 動態指令碼語言

Apache Groovy 2.4.16 釋出,JVM 動態指令碼語言

  

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。