1. ホーム
  2. Java

SpringBoot 起動エラー java.nio.charset.MalformedInputException: 入力長 = 2 解決

2022-02-08 20:17:11

最近作った新しいプロジェクトがMalformedInputException例外で起動する。

久しぶりのバイドゥ、ネットでは同じことが言われている

ymlをtxtにコピーして戻せばいいという意見もあります。

eclipseのutf-8環境を構築する、とも言われています。

これらは全く問題を解決していません。

これは、ymlファイルをパースする際に、中国語の文字セットがutf-8でないためです。

しかし、cmdコマンドでmvn clean compileした後、プロジェクトは再び正常に実行されるようになりました

長い間探して、eclipse と idea の両方でテストした結果、最終的に maven はデフォルトの文字セット GBK でプロジェクトをコンパイルしていることがわかりました。

そこで、pom ファイルにコンパイル時のエンコーディングを utf-8 に設定する必要があります。

  コードはこのようになります。

<properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>    
    <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>      
    <maven.compiler.encoding>UTF-8</maven.compiler.encoding>
</properties>

要約すると

これは、成熟したプロジェクトでは発生しない問題で、新しいプロジェクトでは、設定が不十分であり、注意が必要です。

最近、一般的な技術や面接の質問について話す公開サイトをオープンしましたので、気軽に注目してくださいね。