Groovy 加入 Apache 基金會發布 2.4.4 版本
Groovy 發布了 2.4.4 版本,這是 Groovy 加入 Apache 基金會,處于孵化階段時發布的首個版本。
該版本改進內容包括:
Bug
-
[GROOVY-7018] - GroovyClassLoader addClasspath RegexPattern issue
-
[GROOVY-7022] - invoking scripts using full path broken in cygwin
-
[GROOVY-7097] - ScriptBase class can't be resolved if not in current directory even if CompilerConf classpath is set
-
[GROOVY-7127] - Dates.isJsonDate only recognizes Javascript Date's toJSON() Format
-
[GROOVY-7159] - STC claims non-existent Diamond in Anonymous Inner Class with Generics
-
[GROOVY-7338] - URL getText(requestProperties) Map doesn't accept a GString
-
[GROOVY-7365] - Compiler crash in the static type checker
-
[GROOVY-7366] - Static imports are missing in generated stubs
-
[GROOVY-7377] - Interpolated variable followed by asterisk in slashy-string causes compiler error
-
[GROOVY-7381] - Setters with non-void return type fail at runtime when statically compiled
-
[GROOVY-7386] - Packed Maven pom.xml reference commons-cli instead of groovy-all
-
[GROOVY-7391] - Indy ignores custom invoker in meta class
-
[GROOVY-7392] - JsonSlurper Fails on Valid JSON
-
[GROOVY-7416] - Problem With CompileStatic And Interface Methods In Abstract Subclass
-
[GROOVY-7424] - NPE in SecureASTCustomizer for interface method declarations
-
[GROOVY-7448] - AbstractConcurrentMap performing rehash() on every insert
-
[GROOVY-7453] - CompileStatic annotation should not support package target
-
[GROOVY-7456] - Builders don't work in Traits
-
[GROOVY-7461] - Groovy doesn't write BOM if UTF-16 alias is used
-
[GROOVY-7462] - groovy.json.internal.Dates instantiates objects without explicitly specifying the miliseconds parameter
-
[GROOVY-7474] - Difference between junit3 and junit 4 shouldFail {...} not described in docs
-
[GROOVY-7476] - JsonSlurper sometimes does not parse escaped double quotes on parsing with JsonParsingUsingCharacterSource
-
[GROOVY-7477] - CompileStatic-related "BUG! exception in phase 'instruction selection'"
-
[GROOVY-7485] - BUG! exception in phase 'semantic analysis'... when trying to call instance method as default for a constructor parameter
-
[GROOVY-7495] - Diamond inheritance of interfaces makes method return type incompatible
-
[GROOVY-7504] - [CVE-2015-3253] Potential remote code execution
Improvement
-
[GROOVY-7425] - Add 'getBytes(Map parameters)' method to the URL class
Sub-task
-
[GROOVY-4421] - Casts should have higher precedence than mathematical operators
-
[GROOVY-5185] - Cast operator precedence is incorrect
Task
-
[GROOVY-6268] - New documentation
-
[GROOVY-7470] - Change license for adoc (guide) files to ASLv2
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。