H2(1.4.187 Beta)をビルドしてEclipseで動かす

先日、H2をデバッグ実行する方法を書きました。今日は、H2をビルドしてEclipseに読み込み、テストを実行する方法についてまとめます。

次の環境で動作を確認しました。

準備

JavaEclipseMavenをインストールしておきます。

1. ソースコードのダウンロードと配置

Downloadsから、「Version 1.4.187 (2015-04-10), Beta」のPlatform-Independent Zipをダウンロードします。

Eclipseのworkspaceディレクトリに、h2-2015-04-10.zipを展開します。h2というディレクトリが生成されるので、他のバージョンを展開する時のためにh2-2015-04-10へ名前を変えておくと便利です。

展開したディレクトリに移動します。

% cd h2-2015-04-10

2. JAVA_HOME環境変数の設定

ローカルマシンで利用可能なJavaのバージョンを確認します。

% /usr/libexec/java_home -V
Matching Java Virtual Machines (6):
    1.8.0_40, x86_64:	"Java SE 8"	/Library/Java/JavaVirtualMachines/jdk1.8.0_40.jdk/Contents/Home
[...]
    1.7.0_75, x86_64:	"Java SE 7"	/Library/Java/JavaVirtualMachines/jdk1.7.0_75.jdk/Contents/Home

JAVA_HOMEの環境変数を確認し、設定されていない場合は設定します。H2は、JDK 1.6以上であればビルドできます。ここでは1.8.0を利用します。

% echo $JAVA_HOME

% export JAVA_HOME=`/usr/libexec/java_home -v 1.8.0_40`
% echo $JAVA_HOME
/Library/Java/JavaVirtualMachines/jdk1.8.0_40.jdk/Contents/Home

H2はJavaでビルドを行うため、この設定が必要です。プロジェクトのルートにあるbuildスクリプトを実行すると、src/tools/org/h2/build/Build.javaの内容が実行されます。

3. H2をビルドする

プロジェクトルートのbuild.shを実行します。入力待ちの状態になるので、ターゲット「jarClient」を入力し、Enterキーを押します。

% ./build.sh -
Shell mode. Type the target, then [Enter]. Just [Enter] repeats the last target.
build> jarClient

初回ビルド時には、Mavenで依存ライブラリがダウンロードされるので、少し時間がかかります。自分の環境では90秒くらいでした。

ビルドが完了したら、Ctrl-Cで終了します。

4. Eclipseでプロジェクトをインポートする

Eclipseを起動し、[File]→[New]→[Java Project]を選択します。[New Java Project]ウィンドウで、次のように設定します。

  • Project name: 下記の設定をすると自動補完されます
  • Use default location: チェックを外す
  • Location: 先ほどH2をビルドしたディレクト

設定後、[Next]ボタンを押します。

この時、「The output folder has changed. Do you want to remove all generated resources from the old location[...]」というダイアログが表示されるかもしれません。Eclipseがデフォルトで出力先にするbinディレクトリに、先ほどのビルドによる生成物が存在するので、.classファイルが存在するtempディレクトリをEclipseが出力先として選び直すそうです。その上で、binにあったものを消していいかどうかを尋ねています。どちらでもよいですが、ここでは「No」にしておきます。

Java PerspectiveのPackage Explorerペインに、作成したプロジェクトが表示されている様子を次に示します。


5. tools.jarへの参照を追加する

上の図を見ると、プロジェクトにエラーが出ています。Problemsペインで確認すると、com.sun.javadocパッケージのクラスを読み込めていません。そこで、tools.jarをビルドパスに追加します。

プロジェクトを右クリックし、コンテキストメニューから[Build Path]→[Configure Build Path]を選択します。[Add External JARs]ボタンを押します。JDKのルートのlibディレクトリにあるtools.jarを選択します。

プロジェクトにtools.jarが読み込まれると、エラーが消えます。

6. 動作確認

最後に、テストを動かせることを確認しておきます。

プロジェクト直下の「src/test」ソースフォルダを開きます。org.h2.samplesパッケージのHelloWorld.javaを右クリックし、[Run As]→[Java Application]で実行します。

Consoleペインに「Hello」と表示されれば成功です。ブレークポイントを設定すれば、デバッグ実行もできるようになりました。

以上です。