ロンボクアノテーションを処理するための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このソリューションを実装した後、私はそれを何度も改訂しました。
- ソースコードを保持したい
代わりにsrc / main / javasrc / main / lombokなので、追加しましたlombok構成のsrc / main / java要素。
- 上記の構成を追加すると、コンパイラーがデロンボクされたコードと次のコードをコンパイルしていたため、クラスのコンパイルエラーが重複していました。
src / main / java ...私はそれがデロンボクされたコードをコンパイルすることだけを望んでいます...しかし私はまたIDEがデロンボクされたコードを無視することを望んでいます....だから私は追加しましたlombokプラグインに対してfalse、および$ {project.build.directory} / delombok-kotlinプラグインのメイン。
コードのデロンボッキングに関する役立つディスカッション