#spring #intellij-idea
#spring #intellij-idea
Вопрос:
У меня есть следующий многомодульный проект Maven:
MODULE_1
- Содержит интерфейс A
MODULE_2
- Зависит от MODULE_1
- Содержит класс X, который @Автоматически подключает компонент с типом A
MODULE_3 (приложение Spring boot)
- Зависит от MODULE_2
- Содержит класс B, который реализует
- Настраивает компонент с типом X
MODULE_4 (приложение Spring boot)
- Зависит от MODULE_2
- Содержит класс C, который реализует
- Настраивает компонент с типом X
Я могу запустить оба приложения (MODULE_3 и MODULE_4) через IntelliJ просто отлично, и все компоненты автоматически подключаются. Однако в IDE я получаю ошибку в классе MODULE_2 X, где я пытаюсь @Autowire A. Ошибка заключается в:
Не удалось выполнить автоматическое подключение. Более одного компонента типа. Компоненты: b (B.java ), c (C.java )
Чего я мог там не хватать? Я бы не ожидал ошибок, потому что MODULE_2 не имеет зависимостей от MODULE_3 и 4 и даже не должен видеть реализации, не говоря уже о попытке их автоматического подключения.
Я попытался аннулировать кэши IntelliJ, перезапустить IDE и повторно импортировать зависимости Maven через IDE.
Окружающая среда:
- Windows 10
- Intellij IDEA 2018.3.5
- Oracle JDK 1.8.0_152
Комментарии:
1. Я нашел пару связанных (но немного устаревших) проблем в JetBrains issue tracker для вас: youtrack.jetbrains.com/issue/IDEA-199421 , youtrack.jetbrains.com/issue/IDEA-191253 . Я бы настоятельно рекомендовал связаться с ними по этому поводу (на трекере или в службе поддержки: intellij-support.jetbrains.com/hc/en-us/?intellij-idea )
2. Спасибо, я это сделаю. Мне просто интересно, не неправильно ли я понял что-то фундаментальное, и именно так это должно работать.