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。