でロンボクを使用する方法:Kapt3を使用している間、私はロンボク島でのJava/Kotlinアンドロイドアプリケーションを実行しようとするとKapt3
apply plugin: 'kotlin-kapt'
のjavacのコンパイルが多数
生成方法についてerror: cannot find symbol
で失敗します。
おそらく、スタブを生成するためにkaptのできないことによって引き起こされる:私は使用することができます古いkapt使用する
'kapt.generateStubs' is not used by the 'kotlin-kapt' plugin
すべて前述の力を:
compileOnly "org.projectlombok:lombok:$lombokVer"
annotationProcessor "org.projectlombok:lombok:$lombokVer"
kapt "org.projectlombok:lombok:$lombokVer"
kapt {
generateStubs = true
}
これをしかし、テスト中に失敗し、その結果私もデータバインディングライブラリを使用しているため、コンパイルしています:
何が問題になりましたか: タスク ':app:compileXDebugUnitTestJavaWithJavac'の実行に失敗しました。 java.lang.RuntimeException:データバインディングコンパイラオプションの解析に失敗しました。 Params: kapt.annotations:... \ app \ build \ tmp \ kapt \ xDebugUnitTest \ wrappers \ annotations.bscplayDebugUnitTest.txt kapt.kotlin.generated:... \ app \ build \ tmp \ kapt \ xDebugUnitTest \ kotlinGenerated
これは、他の一方で、ここで説明したようKapt3を使用するために私を強制的に: android databinding unit test error Failed to parse data binding compiler options.
誰もがロンボク島で、この問題を解決する方法を知っていますか?
注私は私の最初のソリューションを使用するヒントだったが、それは(Kotlin Support · Issue #1169 · rzwitserloot/lombok · GitHubごとに)データバインディングの問題につながるすべて:状況は、Androidスタジオ2.3.3でとAndroid Studioの3に同じである(Gradleのビルドツールと3.0 .0)。
どうしてあなたはkotlinでlombokを使いたいのですか? kotlinを使用しているときにロンボクを使用してコードを強化するものはありません –
実際にJavaで書かれた多くのクラスのLombokがまだ使用されているJava/Kotlinモジュールです。私はもちろん、プロジェクト全体がKotlinに移行されたときには、Lombokを使用する予定はありません(私は間もなく希望しますが、範囲は巨大です)。 –
悪いパターンやコードを良いパターンに変換する時間がない場合、大きなプロジェクトは大きくはありません:) –