hakeの日記

Windows環境でプログラミングの勉強をしています。

JAVA環境の構築

目指せプログラマー!JAVAを読んでいて触ってみたくなったのでセルフ開発環境を構築してみる。

実行環境

  • J2ME Personal Profile for Zaurusからpp4zaurus-1_0-ea4a-linux-arm-OptimizedJIT_nosym.zipをダウンロードして展開。personal-profile-for-zaurus_arm.ipkを取り出してインストール。
  • libfloat_1.0_arm.ipkが必要とあちこちで書かれているけど、SL-C3000では既に内蔵ROM領域へのリンクとして存在しているので必要ない(と思う)。一応今現在はここから入手可能。ただしこれをインストールした後にアンインストールすると本来の内蔵ROMへのリンクが復元しないので手動で復元させる必要がある。
$ su
# cd /home/QtPalmtop/lib
# ln -s /hdd1/usr/QtPalmtop.rom/lib/libfloat.so.1 libfloat.so.1
# ln -s libfloat.so.1 libfloat.so
  • cvmコマンドをパスの通った場所にリンクを置く
$ su
# cd /home/QtPalmtop/bin
# ln -s ../j2me/bin/cvm cvm

一応これでJ2ME PPのJAVAアプリの実行が可能なはず。試しに潮汐ワイドをインストールして動作させてみる。

開発環境

#!/bin/sh
RUNLIB=/home/QtPalmtop/j2me/lib/personal.jar
CPLLIB=/home/QtPalmtop/j2me/lib/btclasses.zip
#CPLLIB=/opt/QtPalmtop/share/java/libgcj.jar

if [ -e "$RUNLIB" ]; then
   echo  "-- cvm compile mode --"
else
   echo  "You must install Java."
fi

#jikes -bootclasspath $RUNLIB:$CPLLIB "$@"
jikes -bootclasspath $RUNLIB:$CPLLIB -encoding UTF-8 "$@"

echo "jikes end!"

btclasses.zipをいれなくなくてもjikes_1.1.6-2_arm.ipkにもライブラリ(libgcj.jar)があるけど、一応btclasses.zipに設定してみた。

コンパイル&実行

  • 適当なディレクトリにHello.javaを作成、クラス名とファイル名は一致させないといけないらしい。
import java.io.*;

class Hello{
    public static void main(String[] args){
        System.out.println("Hello Java World.");
    }
}
$ javac Hello.java

$ javac Hello.java 2>&1 | lv     # エラーが沢山でて画面が流れてしまう場合は
                                 # lvやlessなどのページャーにリダイレクトさせると良い。
  • 実行、ファイル名のみで.classは不要(これにはハマッってしまった)
$ cvm Hello
Hello Java World.                # このように表示すればOK