Как настроить процессор аннотаций конфигурации загрузки Spring с помощью @ConfigurationProperties на IntelliJ?

Предупреждение

В IntelliJ я получаю Процессор аннотации конфигурации загрузки Spring не настроен для наличия @ConfigurationProperties. Ниже мой класс:

@Configuration
@ConfigurationProperties(prefix = "abc")
@Data
@RefreshScope
class Config {
    String propA;
    String propB;
    ...
}

Я не уверен, что вызывает это, и когда я нажимаю гаечный ключ для настройки, я не вижу никаких параметров для настройки файлов метаданных.


person 夢のの夢    schedule 22.04.2020    source источник
comment
... но разве это ломает приложение, когда вы его запускаете? Я достаточно часто вижу эту ошибку в IntelliJ, и это не представляет для меня проблемы.   -  person Makoto    schedule 22.04.2020
comment
Отвечает ли это на ваш вопрос? @ConfigurationProperties Процессор аннотации конфигурации загрузки Spring не найден в пути к классам   -  person Simon Martinelli    schedule 22.04.2020


Ответы (3)


Я решил это, добавив следующую зависимость в мой файл pom

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-configuration-processor</artifactId>
    <version>2.2.6.RELEASE</version>
    <optional>true</optional>
</dependency>
person rw026    schedule 22.04.2020

Я столкнулся с той же проблемой с IntelliJ IDEA 2020.2 и Maven 3.6.2. Решением было явное задание обработчика аннотаций в maven-compiler-plugin настройках. Я нашел здесь ответ:

  1. https://stackoverflow.com/a/48028193/9989732
  2. https://stackoverflow.com/a/64031211/9989732

Полная комплектация:

<dependency>
  <groupId>org.springframework.boot</groupId>
  <artifactId>spring-boot-configuration-processor</artifactId>
  <version>2.4.2</version>
  <optional>true</optional>
</dependency>

<plugin>
  <groupId>org.apache.maven.plugins</groupId>
  <artifactId>maven-compiler-plugin</artifactId>
  <version>3.8.0</version>
  <configuration>
    <source>1.8</source>
    <target>1.8</target>
    <encoding>UTF-8</encoding>
    <annotationProcessorPaths>
      <path>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-configuration-processor</artifactId>
        <version>2.4.2</version>
      </path>
      <path>
        <groupId>org.projectlombok</groupId>
        <artifactId>lombok</artifactId>
        <version>1.18.8</version>
      </path>
    </annotationProcessorPaths>
  </configuration>
</plugin>
person Ivan    schedule 19.02.2021

Вы можете легко сгенерировать свой собственный файл метаданных конфигурации из элементов, аннотированных @ConfigurationProperties, с помощью jar-файла spring-boot-configuration-processor. В jar есть процессор аннотаций Java, который вызывается при компиляции вашего проекта. Чтобы использовать процессор, просто включите spring-boot-configuration-processor в качестве дополнительной зависимости, например, с Maven вы бы добавили:

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-configuration-processor</artifactId>
    <optional>true</optional>
</dependency>
person nono    schedule 03.07.2020