热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

IntellijIDEA抱怨无法解决弹簧启动属性,但它们工作正常

如何解决《IntellijIDEA抱怨无法解决弹簧启动属性,但它们工作正常》经验,为你挑选了1个好方法。

在此输入图像描述

无法解析配置属性'...

通过@Value注释或通过自动装配的环境访问我的属性没有问题.但是我自己定义的所有属性都在IDEA中发出此警告.我应该怎么做才能让IDEA认识到这些而不是打扰我?



1> Igor Akkerma..:

为了让IntelliJ IDEA知道您的Spring Boot属性,您可以在项目中定义Spring Boot配置元数据.

选项1:

如果可以@ConfigurationProperties为属性使用带注释的类,则可以将Spring Boot配置注释处理器添加到类路径中,IntelliJ IDEA将为您生成配置元数据targetout:

Maven的:


    org.springframework.boot
    spring-boot-configuration-processor
    true

摇篮:

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:

在构建系统(Maven/Gradle)的IntelliJ IDEA工具窗口中,单击"刷新"按钮.

选择Build > Rebuild Project从菜单.

如果仍出现警告,则可以尝试重新启动IDE.选择File > Invalidate Caches / Restart并单击Invalidate and Restart.


这正是我所需要的!我选择了2!
仅供参考。Spring参考>附录B.配置元数据:https://docs.spring.io/spring-boot/docs/current/reference/html/configuration-metadata.html
我强烈建议使用选项1(@ConfigurationProperties和注释处理器),因为它可以节省繁琐且易于出错的元数据文件手写。而且,在初始设置之后,它比@Value注释更容易使用。
推荐阅读
author-avatar
晓志1998_809
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有