1

アップグレードしたばかりです...

  • Grails 1.4.0.M1
  • Groovy 1.8.0
  • STSバージョン:2.7.0.M2ビルドID:201106101000-Mac用64ビットCocoaバージョン
  • 私はOSX10.5.8を持っています。JVM1.5.0を使用

既存のプロジェクトで「create-app」や「upgrade」などのgrailsコマンドを実行すると、GantBuilderに対して次のNoClassDefFoundErrorが発生します。(完全なトレースについては、以下を参照してください)

このフォーラムから提案された同様の問題の解決策は、gant_groovy1.8-1.9.5.jarが欠落していることです。これをプロジェクトに直接追加し、groovy / libフォルダーにも追加しました(STS->設定->Groovy->コンパイラー->すべてのGroovyクラスパスコンテナーを更新します)が、それでもエラーが発生します。(gant_groovy1.8-1.9.5.jarをgroovy / libに追加したとき、それは別のgroovyダウンロードでしたが、STSが内部grailsシェルコマンドに使用するgroovy / libフォルダーや、STSgroovyの表示方法がわかりません。クラスパス)

found org.springframework#spring-test;3.1.0.M1 in default
:: resolution report :: resolve 2068ms :: artifacts dl 119ms
---------------------------------------------------------------------
|                  |            modules            ||   artifacts   |
|       conf       | number| search|dwnlded|evicted|| number|dwnlded|
---------------------------------------------------------------------
|       test       |   74  |   0   |   0   |   0   ||   74  |   0   |
---------------------------------------------------------------------
Script threw exception
java.lang.NoClassDefFoundError: org.codehaus.gant.GantBuilder
    at org.codehaus.gant.GantBinding.class$(GantBinding.groovy)
    at org.codehaus.gant.GantBinding.$get$$class$org$codehaus$gant$GantBuilder(GantBinding.groovy)
    at org.codehaus.gant.GantBinding.<init>(GantBinding.groovy:41)
    at org.codehaus.groovy.grails.cli.GrailsScriptRunner.callPluginOrGrailsScript(GrailsScriptRunner.java:448)
    at org.codehaus.groovy.grails.cli.GrailsScriptRunner.runInteractive(GrailsScriptRunner.java:377)
    at org.codehaus.groovy.grails.cli.GrailsScriptRunner.executeCommand(GrailsScriptRunner.java:308)
    at org.codehaus.groovy.grails.cli.GrailsScriptRunner.main(GrailsScriptRunner.java:130)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:592)
    at org.codehaus.groovy.grails.cli.support.GrailsStarter.rootLoader(GrailsStarter.java:234)
    at org.codehaus.groovy.grails.cli.support.GrailsStarter.main(GrailsStarter.java:262)

誰かアイデアはありますか?

4

1 に答える 1

2

私が理解していることが正しければ、Grailsはgroovy / libフォルダー内のjarを使用せず、Grailsインストールフォルダー内のjarを使用します。あなたはこれを試してみたいかもしれません:

ここの投稿によると、インストールされたGrailsフォルダー(%GRAILS_HOME%)に移動する必要があります。そのフォルダーでlibフォルダーを見つけ、使用しているgant_groovy.jarの正しいバージョンを指定します。次に、%GRAILS_HOME%/ bin / startGrails.batをテキストとして編集し、次の行を追加します。

( set STARTER_CLASSPATH=%GRAILS_HOME%\lib\org.codehaus.groovy\groovy-all\jars\groovy-all-1.8.0.jar;%GRAILS_HOME%\dist\grails-bootstrap-1.4.0.M1.jar;%GRAILS_HOME%\lib\org.codehaus.gant\gant_groovy1.8\jars\gant_groovy1.8-1.9.5.jar 
)

上記の行のパスはあまり正確ではないことに注意してください(分布ごとに異なるようです)。必要なjarが%GRAILS_HOME%フォルダーにあり、それに応じてパスを変更する必要があります。

于 2011-06-16T07:02:54.373 に答える