1

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 フレームワークにリンクできると思われます。

この問題をどのように克服できるか考えていますか?

ありがとう。

4

1 に答える 1

6

そうです、Grails は古いバージョンの GPars (v0.9) を使用していましたが、その方法は非常に限られていました。残念ながら、削除や置換が容易ではない方法でブート クラスパスに追加されたため、通常のスレッド管理コードを使用してそのコードを作り直し、依存関係を削除しました。

2.0.0.M1 にアップグレードすると、依存関係がなくなり、好きなバージョンの GPars を使用できます。

于 2011-08-14T15:25:32.160 に答える