В сообщении об ошибке указывается, что Application
уже определено.
У вас есть другой класс с именем Application
в том же пакете?
Попробуйте переименовать ваш основной класс приложения в DemoApplication
(например), чтобы увидеть, сохраняется ли проблема.
Spring не заботится о пути к файлу, как только они находятся в одном пакете, они будут конфликтовать, если имеют одинаковое имя. @SpringBootApplication
аннотация представляет собой совокупность аннотаций @Configuration
, @EnableAutoConfiguration
и особенно @ComponentScan
, что означает, что Spring Boot будет автоматически сканировать компоненты в текущем пакете и вложенных пакетах.
При необходимости вы можете определить пакеты, которые будут сканироваться как параметр аннотации, например:
@SpringBootApplication(scanBasePackages = {"com.project.package1", "com.project.package2"})
Вместо этого вы также можете предоставить свои собственные аннотации @Configuration
, @EnableAutoConfiguration
и @ComponentScan
, где вы сможете изменить значения по умолчанию. настройте параметры и определите пакеты для сканирования (здесь вы можете использовать фильтры и регулярные выражения, если вам нужно указать больше c, см. Документация ).