日本免费高清视频-国产福利视频导航-黄色在线播放国产-天天操天天操天天操天天操|www.shdianci.com

學無先后,達者為師

網站首頁 編程語言 正文

YAMLException異常產生原因及解決方案

作者:宣布無人罪 更新時間: 2023-12-18 編程語言

YAMLException異常產生原因及解決方案

01 異常發生場景

  • 當我在使用一個插件優化swagger文檔時
  • 突然yml的中文全變成了亂碼,在idea里的文件也從綠色圖標變成了紅色,我看到yml文件上方有一個設置文件編碼的選項,我就隨意的設置為了GBK,圖標變回綠色圖標,注釋中的亂碼也變回中文,我也沒太在意,畢竟代碼跑著跑著就是會出莫名其妙的問題
  • 以下是yml文件的代碼
server:
  port: 8080
  servlet:
    context-path: /web

# 配置數據源
spring:
  datasource:
    driver-class-name: com.mysql.cj.jdbc.Driver
    url: jdbc:mysql://localhost:3306/text012?userSSL=false;serverTimezone=Asia/Shanghai
    username: root
    password: 1234
  mvc:
    pathmatch:
      matching-strategy: ant_path_matcher

# 配置mybatis
mybatis:
  # mapper配置文件
  mapper-locations: classpath:mapper/*.xml
  # resultType別名,沒有這個配置resultType包名要寫全,配置后只要寫類名
  type-aliases-package: com.example.demo.com.mashang.dao
  configuration:
    log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
    map-underscore-to-camel-case: true
  • 但是當我啟動時,它報了一個YAMLException異常,程序直接終止了

02 異常的產生原因

  • 我第一反應就是swagger的優化插件knife4j有問題,于是把它刪掉再測試了一遍,很可惜還是寄了,代碼還是報YAMLException異常,程序依舊終止

  • 所以問題還是出在yml文件的編碼問題

  • 這個YAMLException異常算是個比較奇怪的問題了,明明沒做什么,yml的編碼就莫名其妙改了

03 解決方式

  • 設置項目的默認編碼,步驟如下

1.在左上角的file中選擇setting

2.在搜索框中搜索File encodings

4.把Global encoding和Project encoding設置為UTF-8

  • 全局編碼和項目編碼一般使用的都是utf-8

5.default encoding for properties files設置為UTF-8

6.transparent native-to-ascii conversion打鉤

7.在create utf-8 file選項中選with no bom

  • utf-8編碼默認是不需要bom的

原文鏈接:https://blog.csdn.net/2302_77182979/article/details/134629136

  • 上一篇:沒有了
  • 下一篇:沒有了
欄目分類
最近更新