Jump to content

Java Web Application Development With Click Framework/Building

From Wikibooks, open books for an open world

Click uses an Ant based build system for creating JAR files, application WAR files and the Click distribution.

Build Configuration

[edit | edit source]

The configuration of the Click Ant build system is detailed below:

 --[build] Ant build directory | | | ---build.xml Ant build script | | | ---build.properties Ant build properties | --[dist] JAR and WAR file output directory | --[documentation] Click documentation set application | --[examples] Click Examples application | | | ---build.xml Ant build script | | | ---README.txt Click Examples Readme file | --[extras] Click Extras source directory | --[framework] Click framework source directory | --[lib] Dependent JAR libraries directory | --[mock] Mock objects source directory 

Build Requirements

[edit | edit source]

Ensure the following requirements are met before performing builds:

  1. Ensure JAVA_HOME environment variable is set and points to a JDK installation (1.4 or later).
  2. Ensure ANT_HOME environment variable is set and points to an Ant installation (1.7.0 or later).
  3. Ensure junit.jar is present in your ANT_HOME/lib directory.

Ant Targets

[edit | edit source]
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] Please ensure you have configured build.properties BUILD SUCCESSFUL 

Getting Dependencies

[edit | edit source]

Run the Ant target get-deps to download JAR dependencies from Ibiblio Maven repository:

ant get-deps

If you are behind a firewall use the Ant target get-deps-proxy and configure your proxy settings in build.properties

# 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

Building Framework

[edit | edit source]

To build the Click framework JAR file click.jar

  1. Ensure the above configurations have been made and get-deps has been run.
  2. Run the Ant target build-framework to build the framework:
ant build-framework

Building Extras

[edit | edit source]

Click Extras JAR file click-extras.jar

  1. Ensure the above configurations have been made and get-deps has been run.
  2. Run the Ant targets framework and build-extras:
ant build-framework build-extras

Building Examples

[edit | edit source]

To build the Click Examples and Click QuickStart web application WAR files:

  1. Please see the examples/README.txt file, ensuring the required properties have been configured and the dependencies downloaded.
  2. Ensure the above configurations have been made and get-deps has been run.
  3. Run the Ant target build-all:
ant build-all

Framework Dependencies

[edit | edit source]

The Click framework has the following runtime dependencies.

Library Version JAR / Source Author Description
Java Runtime 1.4 n/a Sun MicrosystemsJ2SE Runtime Environment
Servlet API 2.3 servlet-2.3.jar Sun MicrosystemsJEE Servlet API
Velocity Engine 1.5 velocity-1.5.jar*Apache VelocityVelocity Templating Framework
Velocity Tools 1.1 WebappLoader source*Jakarta Velocity ToolsVelocity Tools Utility Library
OGNL 2.6.9 ognl-2.6.9.jar *OGNLObject Graph Navigation Library
Common Language 2.1 commons-lang-2.1.jar *Jakarta CommonsGeneral Language Utilities Library
Common FileUpload 1.2 commons-fileupload-1.2.jar *Jakarta CommonsHTTP File Upload Library
Commons Codec 1.3 commons-codec-1.3.jar *Jakarta CommonsEncoding Decoding Library
Commons Collections 3.1 commons-collections-3.1.jar *Jakarta CommonsCollection Utilities Library
Common IO 1.1 commons-io-1.3.jar *Jakarta CommonsIO Utilities Library
Concurrent 1.3.4 ConcurrentReaderHashMap source*Doug LeaConcurrent utilities library

*: marked libraries and source are included in the click.jar file.

The standard click-xx.jar includes all of the listed dependencies.
Alternatively use the click-nodeps-xx.jar which includes none of these dependencies.

Extras Dependencies

[edit | edit source]

The Click Extras has the following runtime dependencies in addition to the Framework dependencies.

Library Version JAR Author Description
Cayenne 2.0.3 cayenne-nodeps-2.0.3.jar Apache CayenneORM Framework
Hibernate 3.1.3 hibernate-3.1.3.jar HibernateORM Framework
Log4J 1.2.14 log4j-1.2.14.jar Log4jLogging Framework
Spring 1.2.9 spring-1.2.9.jar Spring FrameworkIoC Framework
JSCalendar 1.0 JavaScript source*Dynarch.comJavaScript Calendar Widget
JSGraphics 2.33 JavaScript source*Walter ZornJavaScript Graphics library
Prototype 1.5.0 JavaScript source*Prototype OrgJavaScript library
script.aculo.us 1.7.0 JavaScript source*script.aculo.usJavaScript library

*: marked libraries and source are included in the click.jar file.

close