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 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

*: 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 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
JSCalendar 1.0 JavaScript source* Dynarch.com JavaScript Calendar Widget
JSGraphics 2.33 JavaScript source* Walter Zorn JavaScript Graphics library
Prototype 1.5.0 JavaScript source* Prototype Org JavaScript library
script.aculo.us 1.7.0 JavaScript source* script.aculo.us JavaScript library

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