20

Grails アプリケーションを 2.2.0 から 2.2.1 にアップグレードした後、Debug as... -> Grails Command (run-app) を介して GGTS から Grails アプリケーションをデバッグしようとすると、次のエラーが発生し続けます。

Error starting Grails: nulljava.lang.ExceptionInInitializerError
at org.codehaus.groovy.runtime.InvokerHelper.<clinit>(InvokerHelper.java:62)
at groovy.lang.GroovyObjectSupport.<init>(GroovyObjectSupport.java:32)
at groovy.lang.Closure.<init>(Closure.java:221)
at groovy.lang.Closure.<init>(Closure.java:238)
at groovy.lang.Closure$1.<init>(Closure.java:205)
at groovy.lang.Closure.<clinit>(Closure.java:205)
at org.codehaus.groovy.grails.cli.GrailsScriptRunner.<clinit>(GrailsScriptRunner.java:84)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:601)
at org.springsource.loaded.ri.ReflectiveInterceptor.jlrMethodInvoke(ReflectiveInterceptor.java:1243)
at org.codehaus.groovy.grails.cli.support.GrailsStarter.rootLoader(GrailsStarter.java:234)
at org.codehaus.groovy.grails.cli.support.GrailsStarter.main(GrailsStarter.java:262)
Caused by: groovy.lang.GroovyRuntimeException: Conflicting module versions. Module [groovy-all is loaded in version 2.0.5 and you are trying to load version 2.0.7
at org.codehaus.groovy.runtime.metaclass.MetaClassRegistryImpl.registerExtensionModuleFromProperties(MetaClassRegistryImpl.java:186)
at org.codehaus.groovy.runtime.metaclass.MetaClassRegistryImpl.registerExtensionModuleFromMetaInf(MetaClassRegistryImpl.java:174)
at org.codehaus.groovy.runtime.metaclass.MetaClassRegistryImpl.registerClasspathModules(MetaClassRegistryImpl.java:156)
at org.codehaus.groovy.runtime.metaclass.MetaClassRegistryImpl.<init>(MetaClassRegistryImpl.java:111)
at org.codehaus.groovy.runtime.metaclass.MetaClassRegistryImpl.<init>(MetaClassRegistryImpl.java:73)
at groovy.lang.GroovySystem.<clinit>(GroovySystem.java:33)
... 14 more

Groovy Compiler 2.0 Feature 2.7.1.xx-20120921-2000-e42RELEASE および Groovy/Grails Tool Suite 3.1.0.201210061306-RELEASE-e42 で GGTS 3.1.0.RELEASE を実行しています。プロジェクトは Groovy コンパイラ レベル 2.0 を構成しました。Eclipse の設定では、「現在、Groovy コンパイラ バージョン 2.0.4.xx-20120921-2000-e42RELEASE を使用しています」と表示されます。

ヒントはありますか?

4

16 に答える 16

28

私は同じ問題を抱えていました.GGTSからgroovy-all 2.0.7を、私のgrailsプロジェクトから2.0.8を拾っていました。この問題を解決するために、Eclipse プロジェクトから「Groovy Dependencies」ライブラリを削除しました。

プロジェクトを右クリック -> プロパティ -> Java ビルド パス -> ライブラリ (タブ) -> Groovy 依存関係 -> 削除

于 2013-09-16T07:33:50.617 に答える
10

run-app 実行構成を手動で削除して、再作成します。これは、2013 年 8 月 1 日にバグとして報告されました。バグ レポート: https://issuetracker.springsource.com/browse/STS-3501

于 2014-01-12T01:45:18.393 に答える
5

GGTS ワークスペースで .metadata を削除し、プロジェクトを再インポートしました。動作します。再度アプリを実行できます。

于 2013-06-13T01:52:02.677 に答える
1

実行構成でクラスパスを手動でロードするオプションを削除することで解決しました。間違った Grails バージョン (2.5.1 ではなく 2.5.0) を使用していました。

基本的に、間違ったクラスパスが使用されました。

たぶん、これは誰かを正しい道に導きます:)

于 2015-10-15T08:27:25.393 に答える
0

なぜうまくいかなかったのか説明はありませんが、回避策を見つけました。

同じアプリ用に別の実行ターゲットを構成しましたが、-Dgrails.env=...問題なく起動できる設定がありました。この構成をコピーして、パラメーターを削除しただけです。そうすれば、基本的に、以前は失敗し続けていた単純な起動構成を再作成しました。

問題はなくなりました。

于 2013-02-27T00:16:29.930 に答える
0

grails プロジェクトの名前を変更すると、正しく動作します。

于 2013-05-15T22:09:46.757 に答える
0

私は同じ問題を抱えていたので、に行きProject properties -> Groovy Compiler ->configure workspace settings、エラーメッセージの2つのバージョンの1つに対応する「切り替え」ボタンをクリックしました。これが役立つことを願っています

于 2015-09-30T12:49:39.397 に答える
0

私にとっては、grails コマンド ウィンドウからのコンパイルでうまくいきました

于 2013-03-22T08:40:14.743 に答える
0

私はEclipseでそれを実行したときに同じ問題を抱えていました。私のために働いたのは、以下の変更を加えることです。「プロジェクトとワークスペースのgroovyコンパイラレベル間の不一致のチェックを有効にする」チェックボックスをオフにします

于 2013-03-22T23:55:03.933 に答える
0

現在(Eclipse 2020-06、4.16.0を使用)、上記のソリューションはどれも機能しなくなりました。

  1. groovy スクリプトの実行構成を開きます
  2. [クラスパス] タブからすべてのユーザー エントリを削除します
  3. 「デフォルトエントリの復元」を押します

これにより、指定した Groovy バージョンを含むデフォルトのクラスパスがユーザー エントリとして追加されます。

于 2020-08-04T12:32:10.560 に答える