First they ignore you
then they ridicule you
then they fight you
then you win
    -- Mahatma Gandhi
Chinese => English     英文 => 中文             
随笔-219  评论-1047  文章-0  trackbacks-0
Groovy1.1 beta-2的最大亮点是支持Generics以及实现Groovy和Java代码的联合编译,并支持了经典的for语句
您可以在JDK1.4+上玩玩Generics等Java5的新特性了 :)


Release Notes - groovy - Version 1.1-beta-2 - HTML format


  • [GROOVY-1894] - enable the usage of normal classes as parameter in the class header
  • [GROOVY-1895] - simple usage of formal type parameters
  • [GROOVY-1896] - nested usage of formal type parameters
  • [GROOVY-1897] - usage of formal parameters in the extends part
  • [GROOVY-1898] - usage of class parameters at fields
  • [GROOVY-1899] - usage of formal parameters at fields
  • [GROOVY-1900] - usage of generics type parameter in methods
  • [GROOVY-1901] - usage of multiple interfaces as bound for generic parameterization
  • [GROOVY-1939] - Annotation Support for method parameters
  • [GROOVY-1940] - Annotation support for fields
  • [GROOVY-1951] - build a compiler that can compile mixed groovy and java code on the command line


  • [GROOVY-1160] - Groovysh does not start in Windows 2000 with Java 1.5 if there are blanks in the file paths (fix included)
  • [GROOVY-1164] - Object.collect(Closure) fails to work on Set
  • [GROOVY-1342] - GroovyRowResult class raise exception when field value is null
  • [GROOVY-1398] - array[0]++ doesn't compile
  • [GROOVY-1550] - Groovy Sql (or AST builder) doesn't respect bracketing of logical operators
  • [GROOVY-1553] - I fixed some problems with ranges and added some additional unit tests.
  • [GROOVY-1558] - backward Array Sintax
  • [GROOVY-1616] - Inconsistent subList for ranges
  • [GROOVY-1683] - GROOVY_HOME should be quoted in startGroovy.bat
  • [GROOVY-1685] - using ranges as list subscripts limited to existing list size
  • [GROOVY-1698] - No way to escape the / character in Groovy regex
  • [GROOVY-1803] - Cannot apply function/closure arguments with defaults
  • [GROOVY-1807] - Groovy fails to call varargs method signatures when an empty arg list is supplied
  • [GROOVY-1848] - GCL does not close input stream when using URL to parseClass
  • [GROOVY-1861] - Snapshot downloads link points to empty directory
  • [GROOVY-1867] - java.lang.ClassCastException:
  • [GROOVY-1874] - Problem compiling static initialiser
  • [GROOVY-1876] - try-finally does not always executes the finally block when used in methods with return values
  • [GROOVY-1878] - SwingBuilder / tableLayout -> more than two cells in one row are not displayed
  • [GROOVY-1879] - Error parsing simple expression in a conditional.
  • [GROOVY-1882] - NullPointerException when running two or more scripts with GroovyScriptEngine in multiple threads .
  • [GROOVY-1890] - MemoryAwareConcurrentReadMap cause thred dead lock,it will hang our application at some time.
  • [GROOVY-1891] - Assignment to array element yields null
  • [GROOVY-1904] - Iterators do not close streams
  • [GROOVY-1910] - Some property names used in the value of a Map cause IncompatibleClassChangeError
  • [GROOVY-1911] - Unwrapping needed before invokePogoMethod
  • [GROOVY-1912] - GroovyScriptEngine.loadScriptByName is the cause of Stack Overflow Error
  • [GROOVY-1917] - VerifyError when using double instead of Double
  • [GROOVY-1920] - Remove redundant groovy.jar from --classpath option to GroovyStarter
  • [GROOVY-1922] - NPE from classes that extend AbstractMap
  • [GROOVY-1928] - startGroovy script has issue on cygwin
  • [GROOVY-1929] - Resource Leak in the GroovyScriptEngine
  • [GROOVY-1930] - Concurrency issue when loading dependencies in the GroovyScriptEngine
  • [GROOVY-1935] - Continuous integration should test with CObertura coverage on
  • [GROOVY-1937] - Number conversion from BigDecimal to double does not work for Varargs
  • [GROOVY-1941] - Change pom version to lowercase
  • [GROOVY-1943] - ClassCastException for Reflector
  • [GROOVY-1944] - isCase implementation for BigDecimals needed based on numerical value only
  • [GROOVY-1945] - getting character encoding from command line is failed
  • [GROOVY-1947] - Empty case block before default prevents default block from executing
  • [GROOVY-1948] - == doesn't behave properly
  • [GROOVY-1949] - Problem With Stacked Cases In Switch Statements
  • [GROOVY-1956] - null's in lists are not handled correctly for unique(), sort()
  • [GROOVY-1958] - There's possibility that variable "encoding" is null in CompilerConfiguration.
  • [GROOVY-1961] - sum() should not assume the items are numbers or strings but apply normal duck typing
  • [GROOVY-1963] - list expansion in method call caching causes failing method call
  • [GROOVY-1964] - deadlock in MemoryAwareConcurrentReadMap.get
  • [GROOVY-1967] - When assigned to a local variable or attribute, a closure with named parameters throws a verify error


  • [GROOVY-202] - allow importing of static methods like Java 1.5
  • [GROOVY-217] - support java style old for loop notation
  • [GROOVY-635] - Overloading divide - method is called "div" not "divide"
  • [GROOVY-715] - Optional return for "if" statements
  • [GROOVY-849] - + operator on null string concat causes exception
  • [GROOVY-1109] - provide method rows() and firstRow() on groovy.sql.DataSet
  • [GROOVY-1201] - Unsupport Classic for loop now reports strange error message
  • [GROOVY-1380] - "fileName" as File
  • [GROOVY-1542] - Implement groupBy() for Maps as well as for Lists
  • [GROOVY-1688] - Dynamic compilation excessive typed instance variables resolution as class lookup
  • [GROOVY-1850] - Custom Metaclass creation handler
  • [GROOVY-1857] - Add a check for ant version 1.7
  • [GROOVY-1858] - Fix warnings about @deprecated methods for DelegatingMetaClass, ProxyMetaClass, and MockProxyMetaClass
  • [GROOVY-1859] - Enable warning messages about deprecated features in build
  • [GROOVY-1868] - Modify BuilderSupport to allow sub-class to change the node at node completion.
  • [GROOVY-1893] - Minor change to groovy-starter.conf
  • [GROOVY-1938] - Allow GJDK method Timer.runAfter() to return the TimerTask which it created
  • [GROOVY-1952] - force SwingBulder to execute builder methods in EDT
  • [GROOVY-1955] - Adding complete body of XML tag with GPathResult.getBody() including CDATA sections
  • [GROOVY-1966] - FileNotFoundException (really IOExceptions in general) swallowed by XMLRPCServerProxy
  • [GROOVY-1968] - add ConcurrentReaderHashMap to groovy

New Feature

  • [GROOVY-21] - .. as a new binary operator
  • [GROOVY-455] - Add groovy plugin for Maven
  • [GROOVY-502] - Adding instance methods to classes
  • [GROOVY-1718] - Named-parameters without parentheses
  • [GROOVY-1784] - Add deploy to m2 repository to groovy-core ant build
  • [GROOVY-1886] - leftShift operator for ObjectOutputStream
  • [GROOVY-1887] - It would be useful to have a DGM Socket.withObjectStreams to complement Socket.withStreams
  • [GROOVY-1969] - Migrate Grails' ConfigSlurper to a groovy.util



  • [GROOVY-890] - Allow sublists as lvalue in range notation
  • [GROOVY-1916] - I need to get the metaData even when I get no results/I'd like an easier way to get the metaData from the Sql class.
  • [GROOVY-1946] - getting the value of groovy.source.encoding from system property in default constractor of CompilerConfiguration.

附:朝花夕拾——Groovy & Grails
posted on 2007-07-06 20:02 山风小子 阅读(1597) 评论(4)  编辑  收藏 所属分类: Groovy & Grails