Clickをビルドする
JARファイルやWARファイルなどのClick関連の生成物は、Antをベースにしたビルドシステムを使って生成されます。
ビルド構成
ClickのAntによるビルド構成の詳細は以下になります。
+--[build] Ant ビルドディレクトリ | | | +---build.xml Ant ビルドスクリプト | | | +---build.properties Ant ビルドプロパティファイル | +--[dist] JAR 及び WAR ファイルの出力ディレクトリ | +--[documentation] Click ドキュメント | +--[examples] Click Examples アプリケーション | | | +---build.xml Ant ビルドスクリプト | | | +---README.txt Click Examples Readme ファイル | +--[extras] Click Extras ソースディレクトリ | +--[framework] Click framework ソースディレクトリ | +--[lib] 依存する JAR ライブラリ ディレクトリ | +--[mock] Mock オブジェクトのソースディレクトリ
ビルドの前準備
ビルドを実行する前に、以下の準備を完了させてください。
1. 環境変数JAVA_HOMEでJDK(1.4以降)のインストール先を指定してください
2. 環境変数ANT_HOMEで、Ant(1.6.5以降)のインストール先を指定してください
3. junit.jarをANT_HOME/libディレクトリに置いてください
用意されているAntターゲット
ant help Buildfile: build.xml help: [echo] Click web application framework [echo] =============================== [echo] Main targets: [echo] build-all build framework, extras, examples [echo] build-distribution build distribution ZIP file [echo] build-examples build click-examples WAR file [echo] build-extras build click-extras JAR file [echo] build-framework build click framework JAR file [echo] build-maven-bundles build Maven repository upload bundles [echo] build-sources build source ZIP files for use with IDEs [echo] deploy-examples copy examples WAR files to app server [echo] get-deps download JAR dependencies [echo] get-deps-proxy download JAR dependencies via proxy [echo] help display the Help message [echo] javadoc create Javadoc HTML files [echo] project-quick-start build application template [echo] Please ensure you have configured build.properties BUILD SUCCESSFUL
依存ファイルの入手
1. Antのターゲットであるget-depsを実行し、ibilio Mavenリポジトリから依存するJARファイルをダウンロードします。
ant get-deps
もし、ファイアウォールなどで直接ダウンロードできない場合には、build.propertiesファイルでプロキシの設定を行なった上で、get-deps-proxyターゲットを使用してください。
# Proxy hostname used by Ant target 'get-deps-proxy' proxy.host=192.168.0.3 # Proxy port for by Ant target 'get-deps-proxy' proxy.port=3128
Click Frameworkをビルドする
Click Frameworkをビルドしてclick.jarを作成するには、以下の手順を行ってください。
1. ここまでの設定と、ant get-depsの実行が完了していることを確認してください。
2. build-frameworkターゲットを実施し、frameworkをビルドします。
ant build-framework
Click Extrasをビルドする
Click Extras をビルドしてclick-extras.jarを作成するには、以下の手順を行ってください。
1. ここまでの設定と、ant get-depsの実行が完了していることを確認してください。
2. build-frameworkターゲット及びbuild-extrasターゲットを実施します。
ant build-framework build-extras
Examplesをビルドする
Click Exapmles及びClick QuickStartのWARファイルを作成するには、以下の手順を行ってください。
1. examples/README.txtを確認し、必要な設定及び依存ファイルのダウンロードをexamplesフォルダにて実施します。
2. buildフォルダにて必要な設定とget-depsの実行が完了していることを確認します。
3. build-allターゲットを実行します。
ant build-all
Click Frameworkの依存関係
Click framework は以下のランタイム依存性があります。
ライブラリ | バージョン | JAR / Source | 作者 | メモ |
---|---|---|---|---|
Java Runtime | 1.4 | n/a | Sun Microsystems | J2SE Runtime Environment |
Servlet API | 2.3 | servlet-2.3.jar | Sun Microsystems | JEE Servlet API |
Velocity Engine | 1.5 | velocity-1.5.jar* | Apache Velocity | Velocity Templating Framework |
Velocity Tools | 1.1 | WebappLoader source* | Jakarta Velocity Tools | Velocity Tools Utility Library |
OGNL | 2.6.9 | ognl-2.6.9.jar * | OGNL | Object Graph Navigation Library |
Common Language | 2.1 | commons-lang-2.1.jar * | Jakarta Commons | General Language Utilities Library |
Common FileUpload | 1.2 | commons-fileupload-1.2.jar * | Jakarta Commons | HTTP File Upload Library |
Commons Codec | 1.3 | commons-codec-1.3.jar * | Jakarta Commons | Encoding Decoding Library |
Commons Collections | 3.1 | commons-collections-3.1.jar * | Jakarta Commons | Collection Utilities Library |
Common IO | 1.1 | commons-io-1.3.jar * | Jakarta Commons | IO Utilities Library |
Concurrent | 1.3.4 | ConcurrentReaderHashMap source* | Doug Lea | Concurrent utilities library |
DHTML Calendar | 1.0 | JavaScript source * | Dynarch.com | DHTML Calendar Widget |
JSGraphics | 2.33 | JavaScript source* | Walter Zorn | JavaScript Graphics library |
*印のついたライブラリとソースは、click.jarに含まれています。
標準のclick-xx.jarは、これら依存ファイルすべてを含みます。対してclick-nodeps-xx.jarは、依存関係を全く含みません。
Click Extrasの依存関係
Click Extras は framework本体の依存関係に加え、以下のランタイム依存性があります。
ライブラリ | バージョン | JAR | 作者 | メモ |
---|---|---|---|---|
Cayenne | 1.2.3 | cayenne-nodeps-1.2.3.jar | Apache Cayenne | ORM Framework |
Hibernate | 3.1.3 | hibernate-3.1.3.jar | Hibernate | ORM Framework |
Log4J | 1.2.14 | log4j-1.2.14.jar | Log4j | Logging Framework |
Spring | 1.2.9 | spring-1.2.9.jar | Spring Framework | IoC Framework |