こんにちは。たいら(@tairaengineer2)です。
転職を繰り返し現在4社経験している、11年目エンジニアです。
この記事ではIntelliJ IDEAで日本語を含むファイルをJavadocで生成しようとしたとき
1 |
エラー: この文字(○○)は、エンコーディングwindows-31jにマップできません |
というエラーメッセージが表示されたときの
- エラーの原因
- エラーの解決策
と、この記事で丁寧に解説していきます。
前提:実施している環境
この記事では、以下の環境で行っています。
OS | Windows10 |
---|---|
IntelliJ IDEAのエディション | Community(無料版) |
IntelliJ IDEAのバージョン | 2021.3.2 |
プロジェクト | Javaプロジェクト |
なお、解説で使っているIntelliJ IDEAには日本語化対応を行っています。
やり方はこちらの記事をご参考ください。
「エラー: この文字(○○)は、エンコーディングwindows-31jにマップできません」が表示される原因
「エラー: この文字(○○)は、エンコーディングwindows-31jにマップできません」が表示される原因は、デフォルトでOSのエンコードでしようとすることが原因です。
どういうことかと言いますと、たとえば以下の【User.java】の文字コードは【UTF-8】です。
しかしOSはWindowsなので、文字コード【windows-31j】を使ってエンコードしようとします。
文字コードに食い違いがあるため、Javadocが生成できず
1 |
エラー: この文字(○○)は、エンコーディングwindows-31jにマップできません |
というエラーメッセージが表示される、というわけです。
なので、Javadocを生成するときエンコードする文字コードを指定してあげれば解決できます!
解決策
解決策をお伝えします。
Javadocを生成するときに指定するオプションで文字コードを指定すればOKです。
具体的に【生成オプション】の【その他のコマンドライン引数】に
1 |
-encoding 【文字コード】 -charset 【文字コード】 |
です。
この記事では【UTF-8】でエンコードしたいので
1 |
-encoding UTF-8 -charset UTF-8 |
を指定します。
【OK】ボタンを押すとエラーメッセージが出力されることなく、Javadocを生成することができます。
まとめ:「エラー: この文字(○○)は、エンコーディングwindows-31jにマップできません」が表示されたときは文字コードを確認しよう!
以上がIntelliJ IDEAで日本語を含むファイルをJavadocで生成したとき「エラー: この文字(○○)は、エンコーディングwindows-31jにマップできません」が表示されたときの原因と解決策でした。
あなたのご参考になったのなら、とても嬉しいです(*´▽`*)
ではでは~(・ω・)ノシ
コメント