You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

IntelliJ IDEA无法生成spring-configuration-metadata.json求助

解决Spring Boot配置元数据无法生成的问题

咱们一步步排查问题,我看了你的配置和代码,可能有下面几个地方需要调整:

1. 开启IDEA的注解处理器支持

IntelliJ IDEA默认可能没启用注解处理器,这是常见的坑:

  • 打开File > Settings > Build, Execution, Deployment > Compiler > Annotation Processors
  • 勾选Enable annotation processing选项
  • 选择Obtain processors from project classpath,让IDEA自动识别你依赖里的spring-boot-configuration-processor

2. 确认属性类的注解与getter/setter完整性

你的MyProperties类注解搭配没问题,但要注意:

  • 必须保证getter和setter方法完整且正确,配置元数据生成器完全依赖这些方法识别属性。如果是手动编写的,检查有没有拼写错误(比如getName()要对应name字段);如果用Lombok的@Data,得确保Lombok的注解处理器也配置到位(你没提Lombok,先默认是手动编写的)。
  • 也可以尝试去掉@Component,在启动类上添加@EnableConfigurationProperties(MyProperties.class),这种方式更明确,能避免组件扫描可能带来的识别问题。

3. 用Gradle命令触发构建,而非仅依赖IDEA编译

有时候IDEA的自动编译不会触发注解处理器执行,建议直接在终端运行Gradle命令:

./gradlew clean compileJava

或者完整构建:

./gradlew clean build

执行完成后,去build/resources/main/META-INF/目录下查看,正常情况这里会生成spring-configuration-metadata.json文件。

4. 检查Gradle配置细节

你的Gradle配置里已经正确添加了annotationProcessor "org.springframework.boot:spring-boot-configuration-processor",不过可以再确认两点:

  • 依赖版本和Spring Boot版本保持一致(你用的是2.1.4.RELEASE,由于io.spring.dependency-management插件会自动管理版本,这里无需手动指定,没问题)
  • 如果你是多模块项目,要确保这个注解处理器依赖加在了对应的模块中(你的是单模块,这点可以忽略)

5. 排除缓存或冲突干扰

  • 清理IDEA缓存:File > Invalidate Caches... > Invalidate and Restart,缓存问题偶尔会导致注解处理器不工作。
  • 检查是否有其他注解处理器冲突,比如MapStruct这类需要注解处理器的库,确保它们的配置不会影响Spring配置处理器的执行。

按照上面的步骤排查一遍,应该就能成功生成配置元数据了。

内容的提问来源于stack exchange,提问作者ip696

火山引擎 最新活动