CentOS標準のJavaはなぜかGCJ

viでJavaのサンプルコード書いてコンパイル、そのまま実行してみたら、カレントディレクトリにあるクラスが見えないらしく、ClassNotFoundExceptionに。

環境はCentOS4.5のデフォルトで入ってるjre1.4.2・・・

-bash-3.00$ java -version
java version "1.4.2"
gcj (GCC) 3.4.6 20060404 (Red Hat 3.4.6-8)
Copyright (C) 2006 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.


GCJ*1って・・・!!


当然、J2RE入れれば問題ないのですが。

-bash-3.00$ java -version
java version "1.5.0_14"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_14-b03)
Java HotSpot(TM) Client VM (build 1.5.0_14-b03, mixed mode, sharing)

この辺とか読むと、CentOSだけじゃなくてRed Hat系は全部そうなのかなという感じですね*2


RHELJavaを使うための5ステップ | Greedy
http://www.greedy.jp/blog/nowhereman/200711/15/042719

Sun Javaが(以前は)オープンソースじゃなかったからこういう事になってしまっているのでしょうか。不勉強なもので歴史的経緯はわからないのですが。

*1:GNU Compiler for Java

*2:調査はしてません