Grailsアプリケーションを2.2.0から2.2.1にアップグレードした後、GGTSからDebug as ...-> Grailsコマンド(run-app)を介して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
GGTS 3.1.0.RELEASEとGroovy Compiler 2.0 Feature 2.7.1.xx-20120921-2000-e42RELEASEおよびGroovy/Grails Tool Suite 3.1.0.201210061306-RELEASE-e42を実行しています。プロジェクトはGroovy Compilerレベル2.0を構成しました。 Eclipse設定では、「現在Groovyコンパイラーのバージョン2.0.4.xx-20120921-2000-e42RELEASEを使用しています」と表示されます。
ヒントはありますか?
うまくいかなかった理由はわかりませんが、回避策を見つけました。
同じアプリ用に別の実行ターゲットを構成しましたが、-Dgrails.env=...
設定。問題なく起動できました。この構成をコピーしてパラメーターを削除しただけです。このようにして、以前は失敗し続けていた単純な起動構成を基本的に再作成しました。
問題はなくなりました。
ubuntuマシンのGrails 2.2.0でこの問題が発生しました。以下の手順で修正しました。
それは私のために問題を解決しました...この助けを願っています
同じ問題がありました。GGTSからgroovy-all 2.0.7を、grailsプロジェクトから2.0.8をピックアップしていました。この問題を解決するために、Eclipseプロジェクトから「Groovy Dependencies」ライブラリーを削除しました。
プロジェクトを右クリック->プロパティ-> Javaビルドパス->ライブラリ(タブ)-> Groovy依存関係->削除
Run-app実行構成を手動で削除して、再作成されるようにします。これは、2013年8月1日にバグとして報告されました。バグレポート: https://issuetracker.springsource.com/browse/STS-3501
GGTSワークスペースで.metadataを削除し、プロジェクトを再インポートしました。動作しました。アプリをもう一度実行できます。
私は同じ問題を抱えていて、私はそれを次の方法で解決しました:
それは私にとってはトリックでした。
実行構成でクラスパスを手動でロードするオプションを削除することで解決しました。間違ったGrailsバージョン(2.5.1ではなく2.5.0)を使用していました。
基本的に間違ったクラスパスが使用されました。
多分これは誰かを正しい道に連れて行く:)
同じ問題が発生したため、Project properties -> Groovy Compiler ->configure workspace settings
にアクセスし、エラーメッセージの2つのバージョンのいずれかに対応する[切り替え]ボタンをクリックしました。これが役に立てば幸い
mvn dependency:treeを使用して依存関係を確認してください。バージョンの競合が存在している可能性があります。
私は同じ問題を抱えていますが、Grailsプロジェクトの名前を変更すると、正しく機能します。
Eclipseが "groovy-all is version in version ...をロードしていて、バージョンをロードしようとしている"エラーでプロジェクトを実行できなくなったときに、別の解決策がうまくいきました。
.classpathからgroovy-all行を手動で削除すると修正されました。
<classpathentry kind="lib" path="Libraries/groovy-all-2.1.2.jar"/>
私は解決策を見つけました このブログ投稿で 。
私にとっては、grailsコマンドウィンドウからのコンパイルでうまくいきました
私はそれをEclipseで実行するときに同じ問題を抱えていましたが、私のために働いたのは、以下の変更を加えることです。チェックボックス「プロジェクトとワークスペースのGroovyコンパイラレベル間の不一致のチェックを有効にする」のチェックを外します
私はこれがGGTSの質問であることを知っていますが、Googleが私をここに導いてくれました。これは数年経っても一般的な問題のようですので、この回答をここに投稿します。うまくいけば、これもここに上陸する他のSTSユーザーを助けることができます。
Spring Tool Suiteでこの問題が発生しました。SpringBootバージョン1.3.3.RELEASEとGradleバージョン2.14を使用しています。 groovy 2.4.6およびgroovy-all 2.4.6にはいくつかの内部依存関係がありますが、EclipseワークスペースのGroovy Librariesはバージョン2.4.7です。 Spring/GradleプロジェクトのプロパティからGroovyライブラリを削除すると、それらのプロジェクトを実行できますが、ワークスペース内の他のGroovyプロジェクトでは、岩と固い場所の間に立ち往生しています。 「プロジェクトにエラーが存在します。実行しますか?」のときに「はい」をクリックすると実行されます。プロパティビルドパスからGroovyライブラリを削除した場合、またはプロパティビルドパスにGroovyライブラリを配置した場合、プロジェクトエラーは発生しません。
ワークスペース内のGradleプロジェクトのgroovy 2.4.7およびgroovy-all 2.4.7のbuild.gradleに明示的な依存関係を追加することで解決しました
compile('org.codehaus.groovy:groovy:2.4.7')
compile('org.codehaus.groovy:groovy-all:2.4.7')
そして(Eclipse STSを閉じます)2.4.6フォルダーを.gradleキャッシュから削除します
<path to>\.gradle\caches\modules-2\files-2.1\org.codehaus.groovy\groovy\2.4.6
<path to>\.gradle\caches\modules-2\files-2.1\org.codehaus.groovy\groovy-all\2.4.6
(STSを開く)次に、gradleプロジェクトを右クリックし、gradleプロジェクトを更新します。gradleプロジェクトを更新します
これで、ワークスペース内の他のGroovyプロジェクトは、2.4.6と2.4.7の競合なしで実行されます。