我正在使用Grails 1.4.0.M1,我正在尝试升级gpars的版本以用于我的应用。
所以我在BuildConfig.groovy中添加了:
dependencies{
build 'org.codehaus.gpars:gpars:0.11'
}
但是当我使用run-app时,这会带来以下异常:
Exception in thread "Thread-4" java.lang.ClassCastException: groovyx.gpars.ThreadLocalPools cannot be cast to groovy.lang.GroovyObject
at org.codehaus.groovy.runtime.callsite.PogoGetPropertySite.getProperty(PogoGetPropertySite.java:47)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callGroovyObjectGetProperty(AbstractCallSite.java:231)
at groovyx.gpars.Parallelizer.retrieveCurrentPool(Parallelizer.groovy:62)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
我怀疑它可以链接到grails框架,在旧版本中使用此lib并且版本不兼容。
我知道如何克服这个问题吗?
感谢。
答案 0 :(得分:6)
是的,Grails使用的是较早版本的GPars(v0.9),但其使用方式非常有限。不幸的是,它以一种非常重要的方式添加到引导类路径中,因此我使用常规线程管理代码重新编写代码并删除了依赖项。
如果你升级到2.0.0.M1,依赖关系就会消失,你可以使用你喜欢的任何版本的GP。