web-dev-qa-db-ja.com

Java 1.8およびIntelliJ IDEA 14のアノテーションのコンパイルエラー

Javaアノテーション処理で遊んでいました。IntelliJIDEAでアプリケーションビルドが失敗し、Mavenビルドが正常に終了しました。プロバイダークラスが存在することは確かですが、次のエラーが発生します。

Java: Bad service configuration file, or exception thrown while constructing Processor object: javax.annotation.processing.Processor: Provider <my class> not found.

これは、モジュールXが原因であると思います。これは、-proc:none引数を使用してコンパイルする必要があります。ただし、残りのアプリケーションで注釈処理を有効にする必要があります。 IntelliJ IDEAビルドプロセスを構成して、アノテーション処理中に特定のモジュールをスキップする方法は?

17
naXa

モジュール用に個別の注釈プロファイルを構成する必要があります。

  1. 注釈プロファイルを作成します
    1. Annotation Processors ページで、 add
    2. [新しいプロファイルの作成]ダイアログボックスで、 プロファイル 名を指定します。
  2. モジュールを注釈プロファイルに関連付けます
    1. defaultプロファイルの下のモジュールのリストからモジュールを選択します。 (デフォルトでは、プロジェクトのすべてのモジュールはdefaultプロファイルに関連付けられています。)
    2. クリック Move to 、またはを押します F6
    3. ドロップダウンリストから、選択したモジュールの移動先のターゲットプロファイルを選択します。 Annotation profile - move
  3. プロファイルの注釈処理を構成します
    1. defaultプロファイルの注釈処理を有効にします。
    2. プロファイルの注釈処理を無効にします。作成しました。

この回答は IntelliJ IDEA Help の記事に基づいています。

19
naXa