Kotlin Gradleプロジェクトがあります。 Lombokを依存関係として追加し、kaptで登録しました
compileOnly("org.projectlombok:lombok:$lombokVersion")
kapt("org.projectlombok:lombok:$lombokVersion")
自動log
生成に@Slf4j
アノテーションのみを使用したいと思います。 Javaクラスに対しては機能しますが、Kotlinクラスに対しては機能しません。
KotlingとLombokを一緒に使用することは今でも可能ですか?
編集:詳細を追加する
Kotlinクラスに@Slf4j
アノテーションを付け、その中にlog
を使用すると、
未解決の参照:ログ
明らかに注釈処理は適用されません。
Lombokはソースコードではなく、ASTで実行されます。とにかく、これはJavaコンパイラーによってコンパイル時に実行される注釈プロセッサーです。Kotlinコンパイラーはこれらの注釈プロセッサーを使用しません。回答も参照してください。 https:// stackoverflow.com/a/35530223/2621917 馬の口からまっすぐ。
注釈@Slf4j
は使用できませんが、必要なクラスでそのオブジェクトを手動で作成します。
参照 https://www.reddit.com/r/Kotlin/comments/8gbiul/slf4j_loggers_in_3_ways/
それはサポートされていません、そして、ものの見た目によって、 それはそうではありません 。
Lombokを使用するのが@ Slf4jのみの場合、代わりにkotlin-loggingを使用することをお勧めします。 https://github.com/MicroUtils/kotlin-logging