J'ai donc remarqué la ligne suivante dans le fichier gradle du projet jhipster:
annotationProcessor ("org.springframework.boot:spring-boot-configuration-processor") {
exclude group: 'com.vaadin.external.google', module: 'Android-json'
}
Nous avons également utilisé la même configuration dans Maven pour un autre projet afin de résoudre le problème suivant: la dépendance transitoire Maven (bibliothèque/jar vaadin json) n’est pas exclue
Et maintenant j'ai les questions suivantes:
spring-boot-configuration-processor
est un processeur d'annotation qui génère des métadonnées sur les classes de votre application annotées avec @ConfigurationProperties
. Ces métadonnées sont utilisées par IDE (Eclipse, IntelliJ ou NetBeans) pour fournir la saisie semi-automatique et la documentation des propriétés lors de la modification de application.properties
et application.yaml
des dossiers. Vous pouvez en apprendre un peu plus à ce sujet dans la documentation de référence de section pertinente de Spring Boot.
Depuis Spring Boot 1.5.10, l'exclusion n'est plus nécessaire car com.vaadin.external.google:Android-json
n'est plus une dépendance de spring-boot-configuration-processor
.
Que fait la dépendance spring-boot-configuration-processeur?
Il analyse les bibliothèques de la construction et voit quelles propriétés elles utilisent pour informer l'EDI
Pourquoi est-il nécessaire d'exclure parfois les dépendances du processeur?
Les bibliothèques Maven peuvent parfois entrer en conflit - celle que vous avez référencée a été exclue par JHipster car elle entraînait des erreurs lorsque vous êtes sur le chemin de classe avec une autre bibliothèque dans les dépendances de JHipster
Pourquoi le processeur n'apparaît-il pas nécessairement dans la dépendance mvn: tree?
Cela fait pour moi sur le jhipster-sample-app
. Vous faites probablement allusion au commentaire sur le problème lié indiquant que le Android-json
La bibliothèque n'est pas dans l'arborescence. J'ai demandé à ce sujet.
Pourquoi les exclusions sont-elles utilisées avec le processeur dans des situations où il est très difficile d'exclure une dépendance?
C’est un problème conflit de dépendances comme tout autre, vraiment, il arrive que le processeur introduise la dépendance clé (ou plutôt l’était, comme @ Andy Wilkinson indique com.vaadin.external.google:Android-json
n'est plus utilisé par le processeur)