0

Groovy 1.76 から groovy 2.1 に移行していますが、Java コードの実行に問題があります。

クラスパスにJava 7とGroovy 2.1がすべてセットアップされています。Gradle が実行されており、私のプロジェクトはすべての単体テストを実行して、以前と同じように正常に実行できます。

ただし、groovy クラスの 1 つをロードして実行する 1 つの Java クラスがあり (クラスは通常の gradle/groovy 単体テストで正常に実行できます)、新しい環境でこれを実行しようとすると、次の例外で失敗します:

Exception in thread "main" java.lang.NoClassDefFoundError: org/codehaus/groovy/transform/powerassert/ValueRecorder
    at com.covestor.glossary.meta.Entity$_Rel__clinit__closure3_closure4.doCall(Entity.groovy:500)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

一部のクラスがGroovy 1.7から削除されたことを他の質問/ディスカッションで見たので、一般的なアドバイスは、クラスが新しいバージョンのgroovyに対して再構築されるようにすることです-しかし、私のクラスはすでに後者に対して構築されていますバージョン (Java コードを開始する私のスクリプトは、gradle clean buildすべての Groovy クラスが適切にコンパイルされていることを確認するために実際に最初に呼び出します)。いくつかの jar 依存関係もありますが、Groovy ソース (すべて Java jar) から構築されたものはありません。

誰が問題が何であるかを提案できますか? 1.7 に対してまだビルドされているコードがどこにもないことがわかりません

4

2 に答える 2

0

アップグレード時に同様の問題がありましたGROOVY_HOME.groovyの新しいバージョンを指すために新しいものを作成したことはありません...それを行い$GROOVY_HOME/bin、パスにも追加しましたか?

于 2013-05-07T18:20:12.310 に答える