H2をデバッグ実行する方法
H2のソースコードを読むために、H2をEclipse上でデバッグ実行する方法を説明します。依存ライブラリにH2を持つ空プロジェクトを作成します。
次の環境で動作を確認しました。
準備
以降の手順では、ビルドツールのGradleを使います。ダウンロードしてインストールしておきます。「gradle --version」としてバージョンが表示されることを確認します。
また、H2のソースコードからサンプルをコピーアンドペーストするので、Version 1.3.176のPlatform-Independent Zipをダウンロードして展開します。1.3.176は、現時点のLast Stableです。
1. 空プロジェクトの作成(任意)
Gradleのカスタムinitタスクを作成するスクリプトを、USER_HOME/.gradle/init.d/以下に配置します。
% cd ~/.gradle/ % git clone https://github.com/taichi/init_scripts.git init.d
2. H2のjarとソースコードのダウンロード
Eclipseのworkspace内に、プロジェクト用のディレクトリを任意の名前(h2-read)で作成して、移動します。
% mkdir ~/Documents/luna-workspace/h2-read % cd ~/Documents/luna-workspace/h2-read
手順1.を実行した場合
Gradleのコマンドで、空のJavaプロジェクトを作成します。
% gradle init % ls -la total 72 drwxr-xr-x 13 USER_NAME staff 442 3 8 23:05 . drwxr-xr-x 9 USER_NAME staff 306 3 8 22:59 .. -rw-r--r-- 1 USER_NAME staff 126 3 8 23:05 .gitignore drwxr-xr-x 3 USER_NAME staff 102 3 8 22:59 .gradle drwxr-xr-x 3 USER_NAME staff 102 3 8 23:05 .settings -rw-r--r-- 1 USER_NAME staff 11357 3 8 23:05 LICENSE -rw-r--r-- 1 USER_NAME staff 76 3 8 23:05 README.md -rw-r--r-- 1 USER_NAME staff 509 3 8 23:05 build.gradle drwxr-xr-x 3 USER_NAME staff 102 3 8 23:05 gradle -rw-r--r-- 1 USER_NAME staff 0 3 8 23:05 gradle.properties -rwxr-xr-x 1 USER_NAME staff 5080 3 8 23:05 gradlew -rw-r--r-- 1 USER_NAME staff 2404 3 8 23:05 gradlew.bat drwxr-xr-x 4 USER_NAME staff 136 3 8 23:05 src
自動生成されたbuild.gradleを編集して、H2をダウンロードするための設定を追加します。
% vi build.gradle
冒頭にプラグイン読み込みを追加します。
apply plugin: 'eclipse'
dependenciesに、次の行を追加します。
dependencies { compile 'com.h2database:h2:1.3.176' (略) }
手順1.を飛ばした場合
ディレクトリ(h2-read)のルートで、Gradleのビルドスクリプトを新規に作成します。
% vi build.gradle apply plugin: 'java' apply plugin: 'eclipse' repositories { mavenCentral() } dependencies { compile 'com.h2database:h2:1.3.176' }
共通手順
Gradleのコマンドを実行して、Eclipseプロジェクトを作成します。
% gradle eclipse :eclipseClasspath Download https://repo1.maven.org/maven2/com/h2database/h2/1.3.176/h2-1.3.176.pom Download https://repo1.maven.org/maven2/com/h2database/h2/1.3.176/h2-1.3.176.jar Download https://repo1.maven.org/maven2/com/h2database/h2/1.3.176/h2-1.3.176-sources.jar :eclipseJdt :eclipseProject :eclipse BUILD SUCCESSFUL Total time: 11.189 secs
プロジェクトルートに.projectファイルが作成されたことを確認します。
3. Eclipseへプロジェクトをインポートする
手順2.で作成したプロジェクトを、Eclipseにインポートします。
EclipseのJavaパースペクティブで、[File]→[Import]→[General]→[Existing Projects into Workspace]→[Next]と進み、「Select root directory」を選択して、先ほどのプロジェクト(h2-read)を指定します。[Finish]ボタンを押します。
手順1.を飛ばした場合
プロジェクトにソースフォルダが生成されないため、作成する必要があります。
Package Explorerでプロジェクト(h2-read)を右クリックして、コンテキストメニューから[New]→[Folder]と進み、「Folder name:」に「src/main/java」と入力し、[Finish]ボタンを押します。
作成されたフォルダを右クリックして、コンテキストメニューから[Build Path]→[Use as Source Folder]を選択します。プロジェクトの下に「src/main/java」というソースフォルダが作成されます。
4. H2テストコードの作成と実行
「src/main/java」を右クリックして、コンテキストメニューから[New]→[Class]を選択します。「Package」に任意の名前(test)、Nameに「HelloWorld」と入力し、[Finish]ボタンを押します。
zipでダウンロードしたH2のソースコードから、./src/test/org/h2/samples/HelloWorld.javaを取り出して、作成したJavaファイルにコピーアンドペースとします。その際、パッケージ名を先ほど自分で作成したパッケージ名に書き換えます。
編集前。
package org.h2.samples;
編集後。
package test;
EclipseでHelloWorld.javaを右クリックして、コンテキストメニューから[Run As]→[Java Application]を選択します。Consoleウィンドウに「Hello」と出力されたら、テストの実行は成功です。