37 votes

Les processeurs d'annotation doivent être déclarés explicitement maintenant

Error:Execution failed for task ':laMusique2May2016:javaPreCompileRelease'.
> Annotation processors must be explicitly declared now.  The following dependencies on the compile classpath are found to contain annotation processor.  Please add them to the annotationProcessor configuration.
    - auto-value-1.1.jar (com.google.auto.value:auto-value:1.1)
  Alternatively, set android.defaultConfig.javaCompileOptions.annotationProcessorOptions.includeCompileClasspath = true to continue with previous behavior.  Note that this option is deprecated and will be removed in the future.
  See https://developer.android.com/r/tools/annotation-processor-error-message.html for more details.

Je rencontre ce problème, mais le problème est que auto-value-1.1.jar n'est pas dans mes fichiers gradle.

1 votes

Alors avez-vous lu la phrase qui commence Ou bien ?

4 votes

@KenWhite Whiteyes il est dit à la fin "Note that this option is deprecated and will be removed in the future" Avez-vous lu cette partie ?

4 votes

"mais le problème est que auto-value-1.1.jar n'est pas dans mes fichiers gradle" -- si vous dites que vous n'avez pas de com.google.auto.value:auto-value:1.1 dans vos dépendances, alors cela provient d'une dépendance transitive. Essayez de trouver laquelle de vos dépendances dépend elle-même de auto-value Si vous n'êtes pas satisfait, contactez les développeurs de cette dépendance et demandez-leur ce qu'ils doivent faire. Et, temporairement, considérez la solution de contournement citée dans l'erreur et dans le document les docs .

34voto

krishna murthy Points 461

Même moi, j'ai eu le même problème et finalement j'ai résolu mon problème en ajoutant ceci au fichier gradle au niveau de l'application.

android{
....
    defaultConfig{
....
    javaCompileOptions {
        annotationProcessorOptions {
            includeCompileClasspath true
        }
    }
}
buildTypes {
...
}

j'espère que cela a résolu le problème de quelqu'un

1 votes

Cela a réparé le mien.

0 votes

Il s'agit cependant d'un comportement déprécié, qui sera supprimé dans un an environ...

4 votes

déprécié, ne pas utiliser

25voto

Jon Points 1337

Vous devez ajouter explicitement les processeurs d'annotation dans gradle. En ajoutant les éléments suivants dans vos dépendances gradle, vous devriez résoudre le problème :

annotationProcessor 'com.google.auto.value:auto-value:1.1'

Cependant, comme d'autres l'ont déjà mentionné, vous devriez probablement déterminer laquelle de vos dépendances existantes utilisait l'auto-value afin d'affirmer si vous en avez vraiment besoin ou non. Les processeurs d'annotation finissent par ralentir votre temps de construction, alors ne les incluez pas s'ils sont inutiles.

0 votes

C'est un peu plus ancien mais je suis confronté à un problème similaire. J'ai un processeur d'annotation java et je l'utilise dans un projet avec des classes java et kotlin. Avant l'introduction de Kotlin, il fonctionnait avec : ``` compileOnly project(':annotation-processor') annotationProcessor project(':annotation-processor') `` Après l'introduction de Kotlin, les annotationProcessor n'a pas récupéré les fichiers kotlin alors je suis passé à kapt. Mais ensuite j'ai eu Annotation processors must be explicitly declared now erreur. Avec les deux kapt y annotationProcessor ça semble fonctionner mais c'est bizarre. Kapt devrait aussi capter Java. Alors pourquoi cette erreur ?

0 votes

Cette réponse explique en fait ce que vous devez remplacer, et pas seulement ajouter, à votre fichier gradle : stackoverflow.com/a/55823353/413127

4voto

wdanxna Points 205

L'ajout des dépendances d'annotationProcessor ne fonctionne pas pour moi, à la place je dépose cette ligne à l'intérieur build.gradle à des endroits arbitraires fonctionne :

android.defaultConfig.javaCompileOptions.annotationProcessorOptions.includeCompileClasspath = true

1 votes

@BenMorris-Rains met juste cette ligne n'importe où dans build.gradle mais en dehors de toute portée. ou voir la réponse ci-dessous.

0 votes

@wdanxna Merci ! En fait, j'ai trouvé le problème en essayant d'utiliser firebase firestore et je suis passé à la base de données en temps réel à la place, qui fonctionne sans aucun problème. Je m'y référerai si j'essaie à nouveau d'utiliser firestore.

0 votes

Il s'agit cependant d'un comportement déprécié, qui sera supprimé dans un an environ...

3voto

Les processeurs d'annotation peuvent être déclaré con annotationProcessor au lieu de implementation/compile comme nous avions l'habitude de déclarer plus tôt.

implementation 'com.google.auto.value:auto-value:1.1' 

compile 'com.google.auto.value:auto-value:1.1' 

Doit être remplacé par

annotationProcessor 'com.google.auto.value:auto-value:1.1'

0voto

CyxouD Points 51

Pour moi, ce problème s'est produit parce que jitpack n'a pas été placé comme dernière entrée dans le grade de racine.

allprojects {
    repositories {
        // ... other repositories
        maven { url "https://jitpack.io" }
    }
}

La solution a été prise dans le commentaire de @hotchemi en https://github.com/permissions-dispatcher/PermissionsDispatcher/issues/535#issuecomment-432190926

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X