(注:このブログはもう更新していません)この日記は私的なものであり所属会社の見解とは無関係です。 GitHub: takahashikzn

[クラウド帳票エンジンDocurain]

JDK6 u21を使うとEclipseが起動しなくなる(かも)


コチラで知ったのだが、最近リリースされたJDK6 u21を使うとEclipseが起動しなくなるらしい。
原因は分かっていて、OracleがJDk6のソース内の"Sun Microsystems"の表記を"Oracle"に書き換えたことが元凶。


とりあえず回避するには、eclipse.iniの

-XX:MaxPermSize

--launcher.XXMaxPermSize
256m

に書き換えればよいらしい。詳しくはココを見るべし。

なんでコレくらいで起動しなくなるのかというと、

要するに

public static boolean isSunVM() {
    return System.gerProperty("java.vendor").equals("Sun Microsystems Inc.");
}

みたいなコードがあって、コレを元に、非公式オプションであるMaxPermSizeが使えるか否か
("-XX:"は全て非公式オプション)を判定しているから。

だからJDK6 u21ではSunVMであると判定されず、「MaxPermSize?そんなオプションねーよwww」で落ちるというわけ。



最新版では修正済み(元に戻しただけ)なので、JDK6 u22からは全て元通りになるハズ。