Пользовательский стартер Spring Boot org.springframework.boot.autoconfigure.AutoConfiguration.import не обнаруживает клаJAVA

Программисты JAVA общаются здесь
Ответить Пред. темаСлед. тема
Гость
 Пользовательский стартер Spring Boot org.springframework.boot.autoconfigure.AutoConfiguration.import не обнаруживает кла

Сообщение Гость »


Я прочитал, что мне не следует открывать проблему на github, поэтому спрашиваю здесь. Я покопался в коде и, например, spring-boot-actuator-autoconfigure не определяет классы @Configuration\@AutoConfiguration внутри META-INF/ Spring.factories следует за содержимым файла:

org.springframework.boot.diagnostics.FailureAnalyzer=\ org.springframework.boot.actuate.autoconfigure.metrics.ValidationFailureAnalyzer Я проверил, и ValidationFailureAnalyzer даже не помечен @Configuration\@AutoConfiguration. Затем я вижу файл META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports, в котором объявляются все классы, @AutoConfiguration, после небольшого извлечения файла:

org.springframework.boot.actuate.autoconfigure.amqp.RabbitHealthContributorAutoConfiguration org.springframework.boot.actuate.autoconfigure.audit.AuditAutoConfiguration org.springframework.boot.actuate.autoconfigure.audit.AuditEventsEndpointAutoConfiguration org.springframework.boot.actuate.autoconfigure.availability.AvailabilityHealthContributorAutoConfiguration ... все эти классы помечены @AutoConfiguration. Пока все хорошо. Если мы прочитаем документацию, там написано следующее:

Spring Boot проверяет наличие файла META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports в опубликованном jar-файле.

Действительно, если мы импортируем:

org.springframework.boot привод-стартер-пружина 2.7.3 все работает отлично. Я не разбираюсь в Gradle, но не вижу особой зависимости в spring-boot-actuator-starter или spring-boot-actuator-autoconfigure. Поискав в Google, я нашел здесь обсуждение, где говорится:

В Spring Boot версии 2.7 регистрация автоконфигурации перенесена из Spring.factories в новый файл с именем META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports. Каждая строка содержит полное имя автоконфигурации. В целях обратной совместимости записи в Spring.factories по-прежнему будут учитываться.

Но, честно говоря, я пытался переместить классы конфигурации в новый файл, но класс конфигурации не загружался. Я написал пример здесь. Мой файл org.springframework.boot.autoconfigure.AutoConfiguration.imports:

com.example.springbootstarterexample.configuration.Config Если я перейду к старой конфигурации spring.factries, все будет работать нормально.

Мой класс @AutoConfiguration:

@AutoConfiguration(after = JpaRepositoriesAutoConfiguration.class) //@AutoConfigureAfter(JpaRepositoriesAutoConfiguration.class) @EnableJpaRepositories(basePackages = "com.example.springbootstarterexample.repository") @Import({SomeServiceImpl.class, SomeEntityController.class}) публичный класс ПримерАвтоконфигурация { } Я делаю что-то не так? почему spring-boot-starter-actuator работает, а мой spring-boot-starter-example нет?
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «JAVA»