Groovy类工厂模式给出了奇怪的错误

Groovy类工厂模式给出了奇怪的错误,groovy,jenkins-groovy,Groovy,Jenkins Groovy,我是groovy新手,正在尝试一些groovy代码。我有这种情况。我有以下模块 package com.utils abstract class Base { static String data = '' } 任何帮助都将不胜感激,谢谢抱歉,我发现了这个问题,在基类中我也有一个Map变量,它被初始化为数组 abstract class Base { static String data = '' static Map mapper = [] // This has

我是groovy新手,正在尝试一些groovy代码。我有这种情况。我有以下模块

package com.utils

abstract class Base {

    static String data = ''

}

任何帮助都将不胜感激,谢谢

抱歉,我发现了这个问题,在基类中我也有一个Map变量,它被初始化为数组

abstract class Base {
   static String data = ''
   static Map mapper = []  // This has to be [:]
}

该错误不是由您共享的任何代码引起的。如果将“粘贴”复制到Groovy控制台中,它运行时不会出错是的,也无法使用任何3.x或2.x版本的Groovy进行复制。请提供一个导致您描述的错误的代码示例,最好附带
groovy-v
输出,以便我们知道您使用的是什么版本的java和groovy。
package com.utils

class B extends Base {

    static String data = 'dummy'

}
package com.utils

class ShapeFactory {
    static Map <String,Object> shapes = [
        "a": A,
        "b": B
    ]

    static Object get_shapes(String shape) {
        return shapes.get(shape);
    }
}

And in the main file I am using

import com.utils.ShapeFactory

def shapeA = ShapeFactory.get_shapes('a')

shapeA.data // here it fails with the below error
hudson.remoting.ProxyException: org.codehaus.groovy.runtime.typehandling.GroovyCastException: 
Cannot cast object '[]' with class 'java.util.ArrayList' to class 'java.util.Map' 
due to: groovy.lang.GroovyRuntimeException: 
Could not find matching constructor for: java.util.Map()
abstract class Base {
   static String data = ''
   static Map mapper = []  // This has to be [:]
}