У меня есть приложение Spring Boot, которое я недавно перенес с 1.x.x до 2.x.x. Я использую несколько сторонних библиотек/банок для проведения некоторого регистрации метрик, используя Prometheus. С @Configuration и я получаю печально известное пружинное исключение:
org.springframework.context.annotation.ConflictingBeanDefinitionException: Annotation-specified bean name 'prometheusServletAutoConfiguration' for bean class [com.my.package.path1.PrometheusServletAutoConfiguration] conflicts with existing, non-compatible bean definition of same name and class [com.my.package.path2.PrometheusServletAutoConfiguration]
< /code>
Так, как вы видите, у них есть немного разные FQDN (полные квалифицированные доменные имена или пути упаковки, и я упростил его для этого примера, как вы можете видеть), но основной класс одинаково Назовите, поэтому я думаю, что Spring пытается выяснить, какой фасоль создать и сбой. Это совершенно смущает меня, и я посмотрел на код/библиотеки в Intellij с Spring 1.x.x из старого кода филиала, и это исключение никогда не было брошено (было проигнорировано весной 1.x.x или чем -то в этом роде ?). Я также отмечу, что код хорошо компилирует, но сбое во время выполнения (имеет смысл) < /p>
было лучшим разрешением здесь? Должен ли я просто сказать Spring не сканировать один из этих классов FQDN, так что он создает только 1 фасоль в контексте приложения? Помните, что это сторонние либера класс, содержащий основной метод.
Подробнее здесь: https://stackoverflow.com/questions/676 ... ow-to-excl
Приложение Spring Boot "Имя боба для конфликтов класса бобов с существующими" - Как исключить пакет/класс из сторонней б ⇐ JAVA
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение