試してみてください。 GCJ 自体はよく出来ています。GNU Classpath はまだ完成から程遠いようですが開発は順調のようです。ここでは Fedora Core 4 でどのように動くのかを説明します:
1. 正しい RPM をインストールしてあるのか確認してください:
$ rpm -ql java-1.4.2-gcj-compat-devel libgcj ... /usr/lib/jvm/java-1.4.2-gcj-1.4.2.0/bin/jar /usr/lib/jvm/java-1.4.2-gcj-1.4.2.0/bin/java /usr/lib/jvm/java-1.4.2-gcj-1.4.2.0/bin/javac /usr/lib/jvm/java-1.4.2-gcj-1.4.2.0/bin/javadoc ... /usr/share/java/libgcj-4.0.2.jar ...
実際には次のようにインストールされているかもしれません。
/usr/bin/jar /usr/bin/java /usr/bin/javac /usr/bin/javadoc /usr/lib/jvm/java-1.4.2-gcj-1.4.2.0/jre/lib/rt.jar
これはこれでかまいませんが実際には必要ありません。
2. ツール> Java プラットフォームマネージャー で、 新しい Java プラットフォーム を正しい "JDK ホーム" で作成します。例えば、/usr はでは動くかもしれません。あるいは /usr/lib/jvm/java-1.4.2-gcj も試してください。必要ならばソースを http://www.gnu.org/software/classpath/ から取得して設定してもよいでしょうし、Sun の JDK 1.4 がインストールしてある場所から src.zip を使ってもよいでしょう。
3. Java プロジェクトを作成します。サンプル > 一般 > GUI Form Examples を使ってみると Swing は動くようです。しかし Anagram Game はまだ動きませんでした。(イベントハンドリングに問題があるようです)
4. プロジェクトの プロパティー ダイアログで、ライブラリ で GNU libgcj 4.0.2 ... を Java プラットフォーム として選んでください。必要ならばソースレベルは 1.5 ではなく 1.4 にしてください。
(現在の GNU コンパイラは実際には JDK5 のソースを処理できるようです。しかし Classpath ランタイムは JDK 5 言語仕様をサポートしていませんので総称(ジェネリクス) を仕様するのはよい方法ではありません。Classpath 1.19 は総称をサポートする最初の "プレビュー" ビルドです。もうすぐ利用可能になるでしょう)
5. これで動作するはずです。普通にプロジェクトの構築と実行ができます。もし心配であればプロジェクトプロパティーの実行>VM オプションで-showversionを追加して試してみてください。Javadoc の生成も動きます。ただしデバッグはサポートしていません。
この設定方法は一般的な Java バイトコードを生成しインタプリタで実行するだけのものです。ネイティブコードを生成しプログラムを実行した場合にはbuild.xmlにカスタムターゲットをいくつか追加したり、他にサブプロジェクトやライブラリが必要になるでしょう。もしうまくいったらこのページに方法を是非追加してください!!
ヒント: AWT ベースのフォームに Matisse (フリーデザイン) を使うこともできますよ!! GCJ のランタイムで実行すると AWT は GTK として表示され、GNOME アプリケーションのようになります。ただウィジェットセットは限られています。
バージョン: NetBeans 5.0 (4.1、4.0 も同様?)
プラットフォーム: Linux (Cygwin を使った Windows など)