Gradle 4.7にアップグレードした後、以前は警告のないビルドで次の警告が表示されます。
次の注釈プロセッサがコンパイルクラスパスで検出されました: 'lombok.launch.AnnotationProcessorHider $ AnnotationProcessor'および 'lombok.launch.AnnotationProcessorHider $ ClaimingProcessor'。 コンパイルクラスパスでの注釈プロセッサの検出は廃止され、Gradle 5.0はそれらを無視します。代わりに、アノテーションプロセッサパスに追加してください。注釈プロセッサを使用するつもりがない場合は、 '-proc:none'コンパイラ引数を使用してそれらを無視できます。
注釈プロセッサは非推奨であり、gradleバージョン5.0は注釈プロセッサをサポートしていないようです。
私のプロジェクトでは注釈プロセッサを必要とするロンボクを使用しているため、-proc:none
はオプションではありません。バージョン5.0がリリースされたとき、どちらもGradleの使用を停止していません。
方法:
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...
}
プロジェクトにテストが含まれている場合、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"
}
ロンボクのバージョンを合わせて調整します。
Gradleは4.6でannotationProcessorを追加しました およびLombokは、Gradleを使用しているときにドキュメントがこれについて本当に明確ではない場合でも注釈プロセッサーです Android Studio 。短い答えは以下を使用することです:
dependencies {
compileOnly('org.projectlombok:lombok:1.18.0')
annotationProcessor('org.projectlombok:lombok:1.18.0')
}