2

外部jarに依存する注釈プロセッサがあります-lib.jar プロセッサをjarとしてパッケージ化し、クライアントのコンパイル中に使用しています。クライアントのコンパイルがこのメッセージで失敗し始めたときに lib.jar を導入するまで、問題なく動作していました。

Exception thrown while constructing Processor object: java.lang.NoClassDefFoundError: com/foo/FooBar

クライアントのクラスパスに lib.jar を配置しようとしましたが、役に立ちませんでした。私は何が欠けていますか?

4

2 に答える 2

3

プロセッサ jar に加えて、lib.jar をアノテーション ファクトリのクラスパスに追加します。Eclipse では、プロジェクト プロパティ、Java コンパイラ、注釈処理、ファクトリ パスの下にあります。

于 2012-08-29T20:39:01.510 に答える
0

(少し遅れた)

検索パスはここで説明されています: http://docs.oracle.com/javase/6/docs/technotes/tools/windows/javac.html#processing

依存関係はクラスパスにあるだけでよいようです。

Mavenで:

<plugin>
  <artifactId>maven-compiler-plugin</artifactId>
  <version>3.1</version>
  <configuration>
    <annotationProcessors>
      <annotationProcessor>
        *your annotation class qualified name*
      </annotationProcessor>
    </annotationProcessors>
  </configuration>
</plugin>

さらに、注釈プロセッサ アーティファクトへの依存関係。

外部依存関係を持つ注釈プロセッサを使用するために、Eclipse IDE でこの問題が発生しました。

この問題を解決するには、Eclipse IDE で使用する jar-with-dependencies ライブラリを構築します。

于 2013-10-25T14:12:09.240 に答える