Eri*_*cis 83 java spring intellij-idea maven
我已经添加:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-configuration-processor</artifactId>
<optional>true</optional>
</dependency>
Run Code Online (Sandbox Code Playgroud)
我pom.xml每次intellij的请求/警告.
现在我看到"重新运行Spring Boot配置注释处理器来更新生成的元数据".
我怎么做intellij要求我做的事情?
此链接B.2使用注释处理器生成您自己的元数据,但没有说明.
Pat*_*era 49
按照这些说明为我工作:http://www.mdoninger.de/2015/05/16/completion-for-custom-properties-in-spring-boot.html
关于必须重新运行注释处理器的消息有点令人困惑,因为它似乎始终保持在那里,即使没有任何改变.
关键似乎是在添加所需的依赖项之后或在进行任何属性更改之后重建项目.完成此操作并返回YAML文件后,我的所有属性现在都链接到配置类.
您可能还需要单击Maven窗格中的"重新导入所有Maven项目"按钮,以获取.yaml文件视图以识别返回相应Java类的链接.
Lor*_*ori 17
这些答案都不适合我.如果您只想禁用该消息,请转到Intellij首选项 - >编辑器 - >常规 - >外观,取消选中"显示Spring Boot元数据面板".
但是,您也可以使用该消息,如果它不会打扰您太多,那么为了确保您不会错过任何您可能感兴趣的其他Spring Boot元数据消息.
我遇到过同样的问题.问题是Spring Boot注释处理器spring-configuration-metadata.json在您的/target/classes/META-INF文件夹中生成文件.
如果您碰巧在我这样的IntelliJ中忽略了这个文件夹(因为什么哎呀,谁关心类文件?),IDE不会将该文件编入索引.因此,没有完成,和恼人的消息.
只需target从位于的忽略文件/文件夹列表中删除即可Settings > Editor > File Types > Ignore files and folders.
包含对spring-boot-configuration-processorin的依赖build.gradle:
annotationProcessor "org.springframework.boot:spring-boot-configuration-processor:2.4.1"
Run Code Online (Sandbox Code Playgroud)
除了使 IntelliJ 缓存失效并重新启动之外,唯一对我有用的是
Reload All Gradle ProjectsCleanBuild这些选项都不适合我。我发现注释处理器的自动检测非常困难。我最终在pom.xml文件中创建了一个插件部分,该部分显式设置了用于项目的注释处理器。这样做的好处是您不需要依赖任何IDE设置。
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.7.0</version>
<configuration>
<compilerVersion>1.8</compilerVersion>
<source>1.8</source>
<target>1.8</target>
<annotationProcessors>
<annotationProcessor>org.springframework.boot.configurationprocessor.ConfigurationMetadataAnnotationProcessor</annotationProcessor>
<annotationProcessor>lombok.launch.AnnotationProcessorHider$AnnotationProcessor</annotationProcessor>
<annotationProcessor>org.hibernate.jpamodelgen.JPAMetaModelEntityProcessor</annotationProcessor>
</annotationProcessors>
</configuration>
</plugin>
Run Code Online (Sandbox Code Playgroud)
我只是需要
@EnableConfigurationProperties({MY_PROPS_CLASS.class})
Run Code Online (Sandbox Code Playgroud)
在主应用程序类中,它帮助我解决了这个问题
| 归档时间: |
|
| 查看次数: |
68730 次 |
| 最近记录: |