Skip to content

application、bootstrap 配置文件乱码、警告等问题

以下问题在 bootstrap.ymlapplication.yml 雷同

为什么 application.yml 会乱码?

  1. application.properties 编码为 ISO-8859-1,请勿将 application.properties 文件重命名为 application.yml
    1. 虽然 application.yml 默认编码为 UTF-8,但是重命名文件不会修改文件编码
    2. 如需将 application.yml 替换 application.properties,应该是新建一个 application.yml 文件, 然后把 application.properties 中的文件复制到 application.yml 中,最后删除 application.properties 文件
    3. 通过新建 application.yml 替换并删除 application.properties 时,同一次提交这两个文件时,git 会自动识别为文件名修改

为什么 application 配置文件的配置会出现黄色警告线?

  1. 如果该配置使用的是 @ConfigurationProperties 注解在类中配置的, 请添加依赖 org.springframework.boot:spring-boot-configuration-processor

    yaml
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-configuration-processor</artifactId>
        <optional>true</optional>
    </dependency>
    1. 该依赖在项目编译后,会生成 target/classes/META-INF/spring-configuration-metadata.json 文件
    2. 该依赖在项目打包后,会生成 xxx-*.*.*.jar/!/META-INF/spring-configuration-metadata.json 文件
    3. 文件 META-INF/spring-configuration-metadata.json 作用就是在 application.propertiesapplication.ymlbootstrap.yml 文件中自动提示的依据
    4. 配置的属性如果没有在 spring-configuration-metadata.json 文件中配置,将会出现警告
  2. 如果该配置使用的是 @Value 读取自定义配置文件,则会出现黄色警告线,推荐使用 @ConfigurationProperties 方式

如何快速将各种类型的文件进行转换?

  1. 使用 he3 工具转换
    1. 官网
      1. 可下载客户端
      2. 网页端
        1. 需要登录
        2. 部分功能需要网页端不支持,需要下载客户端
    2. GitHub
    3. PR 功能
      1. 作者 PR 🔧 add Kubernetes ports
    4. 部分功能截图(客户端)
      1. JSON 转换为任意类型工具 he3-app-1.png
      2. YAML 转换为任意类型工具 he3-app-2.png
      3. 编码工具 he3-app-3.png
      4. 图片工具 he3-app-4.png
      5. 文本转换工具 he3-app-5.png
      6. 编程工具 he3-app-6.png
      7. 加解密工具 he3-app-7.png
      8. 网络工具 he3-app-8.png