web-dev-qa-db-ja.com

Gradleは、lombokの非推奨の注釈プロセッサ警告

Gradle 4.7にアップグレードした後、以前は警告のないビルドで次の警告が表示されます。

次の注釈プロセッサがコンパイルクラスパスで検出されました: 'lombok.launch.AnnotationProcessorHider $ AnnotationProcessor'および 'lombok.launch.AnnotationProcessorHider $ ClaimingProcessor'。 コンパイルクラスパスでの注釈プロセッサの検出は廃止され、Gradle 5.0はそれらを無視します。代わりに、アノテーションプロセッサパスに追加してください。注釈プロセッサを使用するつもりがない場合は、 '-proc:none'コンパイラ引数を使用してそれらを無視できます。

注釈プロセッサは非推奨であり、gradleバージョン5.0は注釈プロセッサをサポートしていないようです。

私のプロジェクトでは注釈プロセッサを必要とするロンボクを使用しているため、-proc:noneはオプションではありません。バージョン5.0がリリースされたとき、どちらもGradleの使用を停止していません。

方法:

  • 警告を停止し、
  • 私のプロジェクトが今後のGradleリリースでビルドし続けることを確認してください?
19
Bohemian

Lombok依存関係タイプをcompileからannotationProcessorに変更します。したがって、build.gradleファイルは次のようになります。

dependencies {
    compileOnly('org.projectlombok:lombok:1.16.20')
    annotationProcessor 'org.projectlombok:lombok:1.16.20'
    // compile 'org.projectlombok:lombok:1.16.20' <-- this no longer works!
    // other dependencies...
}
31
Bohemian

プロジェクトにテストが含まれている場合、Gradle警告を完全に取り除くには、次の構成が必要です。

dependencies {
  compileOnly "org.projectlombok:lombok:1.18.2"
  testCompileOnly "org.projectlombok:lombok:1.18.2"
  annotationProcessor "org.projectlombok:lombok:1.18.2"
  testAnnotationProcessor "org.projectlombok:lombok:1.18.2"
}

ロンボクのバージョンを合わせて調整します。

25
Andy Brown

Gradleは4.6でannotationProcessorを追加しました およびLombokは、Gradleを使用しているときにドキュメントがこれについて本当に明確ではない場合でも注釈プロセッサーです Android Studio 。短い答えは以下を使用することです:

dependencies {
    compileOnly('org.projectlombok:lombok:1.18.0')
    annotationProcessor('org.projectlombok:lombok:1.18.0')
}
6
TecHunter