これだから世の中にはiso-8859-1しかないと思ってる奴らは...

NetBeansの中の人経由でこれを発見した。

Without default value for source encoding, platform encoding is used, which is bad for build reproducibility. Then setting a default value consistently across every Maven plugin will improve build reproducibility.


Proposed default value: ISO-8859-1, which must be supported by every JVM (see java.nio.Charset) and is already the default value for some plugins (the majority of plugins use platform encoding as a default value instead).


Note: Using a fixed default value for the encoding instead of the platform encoding can potentially break builds that rely on a platform encoding other than the proposed Latin-1 but did not lock this down in the POM. It is assumed that those builds:

  1. are neglectable in number
  2. are easy to fix by setting the new property
http://docs.codehaus.org/display/MAVENUSER/POM+Element+for+Source+File+Encoding

何かというと、Mavenがファイルを読む時にはプラットフォームディフォルトエンコーディングじゃなくてiso-8859-1にする計画らしい。例えばMavenがjavacを呼び出す時は明示的にオーバーライドしない限りiso-8859-1にエンコーディングが設定されることになるので、コメントを日本語で書いているプロジェクトや文字列定数に日本語が含まれているプロジェクトは次のバージョンのmaven-compiler-pluginがリリースされるとビルドが壊れることになる。


一番笑えるのは正当化の理由が「ソースファイルをiso-8859-1以外で書いているプロジェクトは無視できるくらい少数」っていう風に書いてあるところ。


元々英語圏の人はエンコーディングとか文字セットとかそういうのが今ひとつわかってない人が多いが(iso-8859-1のヨーロッパ圏も似たようなもの)、それにしてもこれは...。日本語圏のMavenユーザーの人は今のうちに文句を付けた方がいいですよ。


絶望した!Mavenの開発者に絶望した!」っていうのはこういう時に使うのかな。


追記投票やってます。「これはひどい」と思う人も思わない人もぜひ投票してやってください