@ConfigurationProperties Spring Загрузочная конфигурация Аннотации Процессор не найден в пути к классам
Я пытаюсь выполнить завершение для пользовательских свойств в Spring Boot.
Я попытался создать простой проект через IntelliJ IDEA 2016.3:
1. Создал новый проект Gradle с Spring инициализатором загрузки (я вообще ничего не проверял).
2. Создал новый класс Properties
.
3. Когда я аннотировал его с помощью @ConfigurationProperties
, появилось следующее уведомление:
В документации сказано, что я должен добавить в свой проект следующее:
dependencies {
optional "org.springframework.boot:spring-boot-configuration-processor"
}
compileJava.dependsOn(processResources)
После этого я попытался перестроить проект и включить обработчики аннотаций в настройках, но уведомление не исчезло. Завершение тоже не работает (я создал строку my
).
Ответы
Ответ 1
Я забыл добавить propdeps-плагин. Тем не менее, я помню, что это не сработало для меня даже с плагином на 2016.3. Так как упоминалось @CrazyCoder, попробуйте понизить Gradle или загрузить новую версию 2017.1 (подробности).
Также вы можете получить Re-run Spring Boot Configuration Annotation Processor to update generated metadata
когда вы решите эту проблему. Для этого нажмите " Refresh all Gradle projects
(в меню "Грейдл").
Ответ 2
У меня была та же проблема. Я использую идею 2017.2 и gradle 4.1,
и в каком-то блоге сказано, что вы должны добавить:
dependencies {
optional "org.springframework.boot:spring-boot-configuration-processor"
}
Но я изменил его на это:
dependencies {
compile "org.springframework.boot:spring-boot-configuration-processor"
}
И предупреждение исчезло.
Ответ 3
Согласно документации Spring Boot, правильная конфигурация начиная с Gradle 4.6
dependencies {
annotationProcessor group: 'org.springframework.boot', name: 'spring-boot-configuration-processor'
// ...
}
Но IntelliJ IDEA не поддерживает область действия annotationProcessor
(пока). Upvote IDEA-187868, если вы хотите привлечь внимание к этой проблеме.
Ответ 4
У меня была та же проблема с IntelliJ версии 2018.1.2. Я также должен был определить фактическую версию утилиты spring-boot-configuration-processor, чтобы заставить ее работать:
compile('org.springframework.boot:spring-boot-configuration-processor:2.0.1.RELEASE')
Ответ 5
В версии 2018.3 IntelliJ я решил эту проблему (согласно данной документации) следующим образом:
В Gradle 4.5 и более ранних версиях зависимость должна быть объявлена в конфигурации compileOnly, как показано в следующем примере:
dependencies {
compileOnly "org.springframework.boot:spring-boot-configuration-processor"
}
В Gradle 4.6 и более поздних версиях зависимость должна быть объявлена в конфигурации annotationProcessor, как показано в следующем примере:
dependencies {
annotationProcessor "org.springframework.boot:spring-boot-configuration-processor"
}
Ответ 6
следующие работы для меня:
buildscript {
repositories {
jcenter()
maven { url 'https://repo.jenkins-ci.org/public/' }
maven { url 'http://repo.spring.io/plugins-release' }
}
dependencies {
classpath "io.spring.gradle:propdeps-plugin:0.0.9.RELEASE"
}
}
...
apply plugin: 'propdeps'
apply plugin: 'propdeps-eclipse'
apply plugin: 'propdeps-idea'
...
dependencyManagement {
imports {
mavenBom 'org.springframework.boot:spring-boot-starter-parent:2.0.0.RELEASE'
}
}
...
dependencies {
compile "org.springframework.boot:spring-boot-starter"
compile "org.springframework.boot:spring-boot-starter-actuator"
annotationProcessor "org.springframework.boot:spring-boot-configuration-processor" // for @ConfigurationProperties, make sure compileJava.dependsOn(processResources)
...
}
compileJava.dependsOn(processResources)
Ответ 7
В Intellij 183 откройте меню настроек, найдите Annotation Processors
(он находится в разделе " Build, Execution, Deployment
") и отметьте " Enable annotation processing
.
Ответ 8
Это происходит со мной по двум причинам в IDEA:
- Дважды проверьте, выбран ли ваш параметр (включен) в IDEA: Preferences-> Аннотация Processors-> Включить обработку аннотаций.
- После обновления вашей идеи проверьте плагины и обновите их. Бывает, что плагины становятся несовместимыми с вашей новой версией IDEA, поэтому просто нажмите, чтобы обновить их.