ロンボクアノテーションを処理するためのkaptの設定



Configuring Kapt Process Lombok Annotations



解決:

したがって、KotlinクラスでLombokアノテーションを使用する場合は、次のように機能するはずです。

kapt kapt src / main / kotlin src / main / java lombok.launch.AnnotationProcessorHider $ AnnotationProcessor org.projectlombok lombok $ {lombok.version}

KotlinコードでLombokクラスを使用する必要がある場合は、delombokを使用する必要があります。



org.projectlombok lombok-maven-plugin $ {lombok.version} .0 delombok generate-sources delombok skip true test-delombok generate-test-sources testDelombok true

この場合、kaptはまったく必要ありません。私にとっては魅力のように機能します。


たくさんのグーグルの後、私はこのソリューションを思いつきました。これにより、同じモジュール内のロンボクで強化されたJavaコードとkotlinコードが相互に呼び出すことができます。



4.0.0 com.ericytsang playground 1.0-SNAPSHOT jar com.ericytsang playground UTF-8 1.2.50 4.12 1.16.8 org.jetbrains.kotlin kotlin-stdlib $ {kotlin.version} org.jetbrains.kotlin kotlin-test-junit $ {kotlin.version} test junit junit $ {junit.version} test org.projectlombok lombok $ {lombok.version} org.projectlombok lombok-maven-plugin $ {lombok.version} .0 delombok generate-sources delombok src / main / java $ {project.build.directory} / delombok-main false delombok-test generate-test-sources delombok src / test / java $ {project.build.directory} / delombok-test false org.jetbrains.kotlin kotlin-maven-プラグイン$ {kotlin.version}コンパイルプロセス-ソースコンパイル$ {project.build.directory} / delombok-main test-compile test-compile test-compile $ {project.build.directory} / delombok-test

このソリューションを実装した後、私はそれを何度も改訂しました。

  1. ソースコードを保持したい代わりにsrc / main / javasrc / main / lombokなので、追加しましたlombok構成のsrc / main / java要素。
  2. 上記の構成を追加すると、コンパイラーがデロンボクされたコードと次のコードをコンパイルしていたため、クラスのコンパイルエラーが重複していました。src / main / java ...私はそれがデロンボクされたコードをコンパイルすることだけを望んでいます...しかし私はまたIDEがデロンボクされたコードを無視することを望んでいます....だから私は追加しましたlombokプラグインに対してfalse、および$ {project.build.directory} / delombok-kotlinプラグインのメイン。

コードのデロンボッキングに関する役立つディスカッション