2010-12-18 10 views
2

でプロジェクトを清掃するとき、私はGroovyのImplementing Local AST Transformationsチュートリアルを仕事にしようとしているが、私は自分のプロジェクトをきれいにするたびに私はそれに@WithLoggingアノテーションを持つ各ファイルにこのエラーが表示されます。エラーのEclipse

Groovy:Could not find class for Transformation Processor AC.LoggingASTTransformation declared by AC.WithLogging

答えて

3

"WithLogging.groovy"と "LoggingASTTransformation.groovy"の両方のクラスを含む "AC"という名前のパッケージがありますか?それはまた、 "WithLogging"インターフェースを実装するクラスを含んでいますか?

もしそうなら、注釈を使用するクラスを注釈定義パッケージ外の場所に移動することをお勧めします(診断目的ではデフォルトで十分です)。 Groovyユーザーメーリングリストのthis postを参照してください。

注釈を@WithLoggingから@ AC.WithLoggingに変更してみてください。

Eclipseでのクリーニングについては、私も同様の問題があり、アノテーションを含むファイルをきれいにした後に些細な変更を加えなければならないことがわかりました。 IE、スペースをどこかに追加します。次に、ファイルを保存します。これはすべてを適切に再構築する必要があります。

+0

WithLoggingアノテーションとLoggingASTTransformationを、WithLoggingアノテーションを使用するプロジェクトが参照する別のプロジェクトに配置しました。 'org.codehaus.groovy.control.MultipleCompilationErrorsException:起動に失敗しました:ASTTransformationではありません:kyle.ast.LoggingASTTransformationがkyle.ast.WithLogging'で宣言しました。 – Kyle

+0

私は少し言葉を明確にしました。別々のプロジェクトはうまくいくはずですが、それは問題を複雑にします。 AST変換は黒い芸術のビットです。私は今朝起きたことがあります。それは主に試行錯誤です。 - GroovyConsoleでAST Viewerを使用するとかなり役に立ちますが、まだ問題がある場合は、私のソースをいくつか投稿することができます。 - ロギングによく似ています)。 – Northover

+0

本当に役に立つと思われるソースを投稿できる場合は、 – Kyle