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

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

  

Apache Groovy 2.5.5 已釋出,這是 GROOVY_2_5_X 分支的維護版本,強烈建議使用者升級到此版本。

該版本包含 20 項錯誤修復/改進:

Bug

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

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

  • [GROOVY-8772] - Groovy debugger is on the wrong line when exiting a try/catch

  • [GROOVY-8776] - @MapConstructor with @CompileStatic: Creating static inner class instance => VerifyError: Bad type on operand stack CTE

  • [GROOVY-8777] - @MapConstructor with @CompileStatic: Creating inner class instance => IncompatibleClassChangeError ... does not implement the requested interface java.util.Map

  • [GROOVY-8868] - Static factory method does not compile anymore with 2.5.3 (was ok with 2.4.x)

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

  • [GROOVY-8881] - Inner class - qualified "this" reference cast exception inside 2 closures

  • [GROOVY-8882] - CS: Loop over elements of String has different element type

  • [GROOVY-8892] - Trait instance init blocks are called only when there are fields defined in same Trait

  • [GROOVY-8895] - Traits defining getter conflicts with generated getter

  • [GROOVY-8898] - Annotation value cannot take inline constant from enum.

  • [GROOVY-8914] - Error compiling static inner class that extends some other (static) inner class

  • [GROOVY-8931] - AstNodeToScriptVisitor - wrong "extends/implements" order

Improvement

  • [GROOVY-7632] - Groovy named parameters static check

  • [GROOVY-8872] - Decompiled parameter names don't reflect the names in the bytecode

  • [GROOVY-8880] - Traits - static/instance init blocks

  • [GROOVY-8894] - Improve performance of DGM `leftShift(OutputStream, InputStream)`

  • [GROOVY-8927] - String variants for take and drop

Dependency upgrade

  • [GROOVY-8904] - Bump junit to 5.3.2 and bump junit platform to 1.3.2

下載地址: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。