Intellij IDEA жалуется, что не может решить весенние загрузочные свойства, но они отлично работают

enter image description here

Не удается разрешить свойство конфигурации...

У меня нет проблем с доступом к моим свойствам через аннотацию @Value или через автообновленную среду. Но все мои собственные определенные свойства получают это предупреждение в IDEA. Что я должен делать, чтобы ИДЕЯ могла их распознать и не беспокоить?

Ответ 1

Чтобы IntelliJ IDEA знал ваши свойства Spring Boot, вы можете определить метаданные конфигурации Spring Boot в своем проекте.

Опция 1:

Если вы можете использовать @ConfigurationProperties -annotated для своих свойств, вы можете добавить обработчик аннотации конфигурации Spring Boot к вашему пути к классам, а IntelliJ IDEA создаст метаданные конфигурации для вас в target или out:

Maven:

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

Gradle:

implementation 'org.springframework.boot:spring-boot-configuration-processor'

Вариант 2:

Создайте файл метаданных конфигурации самостоятельно src/main/resources/META-INF/spring-configuration-metadata.json:

Содержание:

{
  "properties": [
    {
      "name": "myapp.someprop",
      "type": "java.lang.String"
    },
    {
      "name": "myapp.someintprop",
      "type": "java.lang.Integer"
    }
  ]
}

Варианты 1 и 2:

В окне инструмента IntelliJ IDEA вашей системы сборки (Maven/Gradle) нажмите кнопку "Обновить".

Выберите " Build > Rebuild Project в меню.

Если предупреждение все еще появляется, вы можете попытаться перезапустить среду IDE. Выберите " File > Invalidate Caches/Restart и нажмите " Invalidate and Restart.