私はAndroid Studio 2.2 Preview 7を使用しています。Lombokプラグインは突然Annotation processing seems to be disabled for the project X
、および設定へのリンクを提供します。
通知をクリックしても、適切な場所に移動できません。
これに対する修正は何ですか?
新しいgradleバージョンでは、これらの行をアプリのbuild.gradleの依存関係ブロックに入力するだけで十分です。
compile "org.projectlombok:lombok:1.16.16"
annotationProcessor "org.projectlombok:lombok:1.16.16"
プロジェクトをグラドルと同期すると、動作します。
まず、ようこそ画面からプロジェクトを削除しても効果がないと思います。考えてみてください。その画面の「最近のプロジェクト」からプロジェクトを削除しても再作成されません。デフォルト設定を変更すると、既存のプロジェクト?
既存のプロジェクトで注釈処理を有効にするために、何も削除する必要はありません。 YourAwesomeProject/.idea/compiler.xml
に移動し、次の属性に値 "true"があることを確認してください:/project/annotationProcessing/profile@enabled
。
このような:
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="CompilerConfiguration">
...
<annotationProcessing>
<profile default="true" name="Default" enabled="true"><!-- here -->
<processorPath useClasspath="true" />
</profile>
</annotationProcessing>
</component>
</project>
ファイル->キャッシュの無効化/再起動が必要になる場合があります
Android Studio 2.4+を使用して同じ問題を抱えている人は、Janis Peisenieksの回答を除いて上記のヒントを実行しても解決されません。
Intellijを開きますIDEA 2017/Android Studio 2.4+に移動して(Windows)
最後に、プロジェクトのbuild.gradleファイルを以下のスニペットで更新します。 (今まで。 issue を参照してください)を使用していないため、廃止されたというヒントは無視してください。
defaultConfig {
javaCompileOptions {
annotationProcessorOptions {
includeCompileClasspath = true
}
}
}
上記のすべての変更をせずにこれを行う非常に簡単な方法があることがわかりました!
プロセッサをロンボクのようなgradleに設定する場合、providedまたはtestCompileのみを使用することはありません。依存関係にもannotationProcessorを使用してこれを追加する必要があります。例:
dependencies {
provided "org.projectlombok:lombok:1.16.16"
annotationProcessor "org.projectlombok:lombok:1.16.16"
}
バターナイフのジャックウォートンに感謝します。
ヒント:ロンボクなどの一部の注釈プロセッサでキャッシュを機能させるには、キャッシュを無効にして再起動する必要がある場合があります。
おそらくマークされた答えで十分でしたが、私はAndroid studio 3とlombok 1.16.18で少し苦労しました。
app
> build.gradle
に以下を追加
compileOnly 'org.projectlombok:lombok:1.16.18'
annotationProcessor 'org.projectlombok:lombok:1.16.18'
MyApplication
> lombok.config
に次の行を追加すると、他のエラーが発生する可能性があります
lombok.addGeneratedAnnotation = false
lombok.anyConstructor.suppressConstructorProperties = true
lombok.config
がない場合は追加しただけです
上記は、次の投稿でロンボクの開発者によって提案されました
addGeneratedAnnotation
suppressConstructorProperties
Lombok Webサイトのセットアップガイド( Android用に設定されたlombok )には、2つのことを行う必要があると書かれています
1、ロンボクプラグインをインストールする
2、gradleの依存関係を追加する
dependencies { compileOnly 'org.projectlombok:lombok:1.18.6' annotationProcessor 'org.projectlombok:lombok:1.18.6' }
しかし、私にとっては、プラグインが原因で問題が発生します。プラグインを無効にした後、エラーはなくなり、ロンボクは引き続き機能します。
セットアップマニュアルの説明に従ってください。
GradleあなたのAndroidプラグインが> = 0.4.3であることを確認してください。 (Gradle v2.12以降が必要です):
dependencies { compileOnly "org.projectlombok:lombok:1.16.18" }
Android Studio前の指示(Gradle)に従ってください。 gradleプロジェクトを正しくセットアップすることに加えて、Lombok IntelliJプラグインを追加して、Android Studio:
- [ファイル]> [設定]> [プラグイン]に移動します
- [リポジトリの参照]をクリックします...
- Lombokプラグインを検索
- プラグインのインストールをクリックして再起動Android Studio
Android Studio v3.5(2019年8月)以前では、注釈プロセッサの設定はありませんでした。ただし、依存関係セクションのbuild.gradleで定義するだけで十分です:
dependencies {
...
compileOnly 'org.projectlombok:lombok:1.18.8'
annotationProcessor 'org.projectlombok:lombok:1.18.8'
...
}
Android studioが「Lombokには注釈処理が必要」という文句を言う場合、問題を解決したのはLombokプラグインの再インストールと「キャッシュの無効化/再起動」でした。