2012-05-08 9 views
7

奇妙なことに、コンパイル時エラーは発生していませんが、アプリケーションの実行中にGroovyクラスのNoClassDefFoundエラーが発生します。Eclipseは実行時にGroovyスクリプトをJavaクラスにコンパイルしない

私はGroovy 2.7.0プラグインでEclipse 3.6を使用しています。私はマシンにGroovy 1.8.5をインストールしました。groovy-all.jarはアプリケーションのクラスパスにあります。

WEB-INF/classesフォルダ内の.groovy拡張子が.class拡張子ではないすべてのGroovyファイルを見ることができます。

ここには何がありますか?

+1

どのようにコンパイルしていますか?どのようにあなたはそれを実行していますか?あなたのクラスパスには何がありますか?あなたの瓶には何が入っていますか? –

+0

Eclipseのどのバージョンですか? Groovyのどのバージョン?最新のGroovyプラグイン? ... * sigh * ... –

+0

@tim_yates私は自分の質問を更新しました。 –

答えて

11

2つの可能性:

  1. あなたのプロジェクトグルーヴィーなプロジェクトではありませんので、あなたのグルーヴィーなファイルは、リソース(ない情報源)として扱われています。リソースは出力フォルダにコピーされますが、ソースはコンパイルされます。あなたのプロジェクトアイコンに少しGRのシンボルがあることを確認してください。

  2. groovyファイルがあるソースフォルダのスクリプトフォルダを誤って有効にしている可能性があります。 Preferences - > Groovy - > Compilerに移動し、Groovy Script Foldersのセクションを見てください。 Groovy Scriptフォルダはプロジェクトごとに設定することもできますので、Project - > Properties - > Groovy Compilerを参照する必要があります。

+0

あなたは素晴らしいです!オプション2は私のために働いた。 –

2

は、あなたがgroovyなくjavaを使用してコードを実行していることを確認します。それ以外の場合は、クラスパスにgroovy.jarファイルをリンクする必要があります。このdiscussionを参照してください。