Groovy类工厂模式给出了奇怪的错误
我是groovy新手,正在尝试一些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
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 [:]
}