Java VM+JavaコンパイラのApache Harmony使ってみました。

Apache HarmonyがOpenJDKなどと違うところはライセンスがゆるくBSDライセンスに似たライセンスであること。
あとはOracleとライセンス契約したりJava互換認証を受けていないのでJavaもどきという立場かも知れない。
AndroidのJava VMのDalvikはApache Harmonyを改造したもの。
Javaの今後はどうなるのかという問題があるけども、AndroidでJavaもどきが生きているように、Oracleの動向関係なくApache Harmonyは使い続けることが可能なのではないかと思った。
OpenJDKでいいような気もするんですがOracleと密接につながっているような気がする。
でも、Apache Harmonyを使ってみると使い物にならんような感じ。
Java6対応ということですが、Java6で動くJEditorPaneやJComboBoxを使ったプログラムがうまく動かなかった。
動かない原因はよく分からない。
コンパイラはソース互換がいまいちなくて多少ソース修正が必要な部分があった。
例えば、Font.MONOSPACED が定義されていないので文字列の”Monospaced”に変えるとか。
コンパイラはOracleのJDK 1.6を使うこともできるけどそれで解決するのはコンパイルエラーだけでApache HarmonyのVMでのエラーや挙動は解決できない。
JbuttonとJMenuだけのプログラムはApache Harmonyでも動きました。
個人的にはSwingが動けば十分ですがApache HarmonyではSwingの一部にしか対応していないような気がする。
少ししか試していないので全体的なことは分かりません。
コマンドラインのプログラムなら多分問題ないかな?