Что такое Spring-Boot-Configuration-процессор?Почему люди исключают библиотеки из этого?Почему он невидим в дереве зависимостей? - PullRequest
0 голосов
/ 10 декабря 2018

Введение

Итак, я заметил следующую строку в файле Gradle проекта jhipster:

annotationProcessor ("org.springframework.boot:spring-boot-configuration-processor") {
        exclude group: 'com.vaadin.external.google', module: 'android-json'
    }

https://github.com/jhipster/jhipster-sample-app-gradle/blob/9e9c3db8f3bedba4b1efd85ecb6ff3f12a5f596a/build.gradle#L230

Мы также использовали ту же конфигурацию вMaven для другого проекта для решения следующей проблемы: Переходная зависимость Maven (library / jar vaadin json) не исключается

Вопросы

И теперь у меня есть следующие вопросы:

  • Что делает зависимость процессора весенней загрузки-конфигурации-процессора?
  • Почему иногда необходимо исключать зависимости из процессора?
  • Почему не 't процессор обязательно появляется в дереве mvn-зависимостей?
  • Почему исключения используются с процессором в ситуациях, когда очень трудно исключить зависимость?

Ответы [ 2 ]

0 голосов
/ 10 декабря 2018

Что делает зависимость подпружиненная конфигурация-процессор?

Он сканирует библиотеки в сборке и видит, какие свойства они используют , чтобы сообщить IDE

Почему иногда необходимо исключать зависимости из процессора?

Библиотеки Maven могут иногда конфликтовать - та, на которую вы ссылалисьисключено JHipster, потому что это приводило к ошибкам в пути к классам вместе с другой библиотекой в ​​зависимостях JHipster

Почему процессор не обязательно появляется в зависимости mvn: tree?

Это для меня на jhipster-sample-app.Предположительно, вы ссылаетесь на комментарий по связанной проблеме о том, что библиотеки android-json нет в дереве.Я спрашивал там об этом.

Почему исключения исключений используются с процессором в ситуациях, когда очень трудно исключить зависимость?

Это зависимость Столкновение проблема, как и любой другой на самом деле, просто случается так, что процессор вносит зависимость ключа (или, скорее, было, как @ Энди Уилкинсон указывает, что com.vaadin.external.google:android-json больше не используется процессором)

0 голосов
/ 10 декабря 2018

spring-boot-configuration-processor - это процессор аннотаций, который генерирует метаданные о классах в вашем приложении, помеченных @ConfigurationProperties.Эти метаданные используются вашей IDE (Eclipse, IntelliJ или NetBeans) для автоматического заполнения и документирования свойств при редактировании файлов application.properties и application.yaml.Вы можете узнать больше об этом в соответствующем разделе справочной документации Spring Boot.

Начиная с Spring Boot 1.5.10, исключение больше не требуется, так как com.vaadin.external.google:android-json больше не требуется.зависимость spring-boot-configuration-processor.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...