ActiveObjectsのビルド
はじめに
ActiveObjectsを試していて、思ったとおりに動かなかったので、ソースにログ出力を追加して動きを追ってみようと思います。
ログ出力の追加のために、ActiveObjectsをビルドします。
ビルド対象のソースのバージョンは。0.8.2です。
ビルド失敗
単純に、ActiveObjectsのソースを全てコンパイルしてみました。
すると、いくつもエラーが発生・・・・。
どうやら、ビルド時に依存するライブラリが結構あるみたいです。
依存ライブラリ
依存ライブララリは以下の通りです。
ライブラリのプロジェクト | ダウンロードしたファイル | 使用するjarファイル |
---|---|---|
Apache Ant | apache-ant-1.7.0-bin.tar.gz | ant.jar |
Apache Commons DBCP | commons-dbcp-1.2.2.tar.gz | commons-dbcp-1.2.2.jar |
Apache Lucene | lucene-2.4.0-src.tar.gz | lucene-core-2.4.0.jar |
lucene-queries-2.4.0.jar | ||
c3p0 | c3p0-0.9.1.2.bin.tgz | c3p0-0.9.1.2.jar |
DBPool | DBPool_v4.8.3.jar | DBPool_v4.8.3.jar |
Proxool | proxool-0.9.1.tar.gz | proxool-0.9.1.jar |
これらを追加してビルドしたら、正常にビルドできました。
ビルドスクリプト
今回のビルドに使用したビルドスクリプトを掲載します。
#!/bin/bash # クラスパス CLASSPATH=./src CLASSPATH=$CLASSPATH:./lib/c3p0-0.9.1.2.jar CLASSPATH=$CLASSPATH:./lib/ant.jar CLASSPATH=$CLASSPATH:./lib/lucene-core-2.4.0.jar CLASSPATH=$CLASSPATH:./lib/proxool-0.9.1.jar CLASSPATH=$CLASSPATH:./lib/DBPool_v4.8.3.jar CLASSPATH=$CLASSPATH:./lib/commons-dbcp-1.2.2.jar CLASSPATH=$CLASSPATH:./lib/lucene-queries-2.4.0.jar # 出力先ディレクトリ DIRECTORY=./classes # ソースファイル SOURCES=./src/net/java/ao/*.java SOURCES="$SOURCES ./src/net/java/ao/cache/*.java" SOURCES="$SOURCES ./src/net/java/ao/db/*.java" SOURCES="$SOURCES ./src/net/java/ao/schema/*.java" SOURCES="$SOURCES ./src/net/java/ao/schema/ddl/*.java" SOURCES="$SOURCES ./src/net/java/ao/schema/task/*.java" SOURCES="$SOURCES ./src/net/java/ao/types/*.java" # コンパイル javac -classpath $CLASSPATH -d $DIRECTORY $SOURCES
実行結果
今回ビルドしたActiveObjectsのクラスを、既に作成済みのプログラムから呼び出してみましたが、問題なく動いています。
ActiveObjectsソースにログ出力コードを追加してビルドしなおすと、ちゃんとログ出力が増えました