blob: bef0be4af3216927466af512b2d19b9743357157 [file] [log] [blame]
---------------
Apache Velocity
---------------
Welcome to Apache Velocity! Apache Velocity is a general purpose
template engine written in Java. For more information about Velocity,
please look at the HTML documentation in the docs/ directory, as well
as the Velocity web site.
http://velocity.apache.org/index.html
The following top level directories are in the Velocity distribution
archive. Please consult the documentation in each of the lower level
directories for information that is specific to their contents.
build/ This is where the build scripts live.
convert/ The WebMacro to Apache Velocity conversion program.
docs/ Velocity Documentation in HTML format.
docs/api/ Velocity Javadocs.
examples/ Examples how to use Velocity.
lib/ Dependencies for building and using Velocity.
lib/test/ Dependencies needed for the various unit tests.
src/ This is where all of the source code is located.
test/ Contains test files needed for the unit tests.
xdocs/ Here are the .xml files for building the .html files
related to the website and documentation. The files
located in docs/ have been built from these sources.
Caveat! This is the directory structure of the distribution
archive. If you checked out the source from the Apache Subversion
Repository, the directory layout is slightly different.
REQUIREMENTS
------------
Apache Velocity will run with any version of Java greater than 1.3.
Building from source requires Java version 1.4 (or greater) and ant
1.6 or greater.
INCLUDED PRE-BUILT JARS
-----------------------
If you are using an offical Apache Velocity release distribution, you
will find two pre-built jars in the top level directory.
1) velocity-<version>.jar:
This jar does not include any external dependencies needed by
Velocity, such as the commons-collection classes, the Avalon
Logkit, or Apache Jakarta ORO. We do this to allow you to use
whatever version of collections, logkit, etc that you wish w/o
fear of collision. These jars are included in the distribution,
in the build/lib directory, or at the respective project sites.
2) velocity-dep-<version>.jar:
This jar includes all dependencies that were present in previous
distribution jars. It is intended as a convenience to allow you
to drop this distribution in place of existing 1.1 or 1.2-dep
distributions.
Please see the WHY_TWO_JARS.txt file for more information.
UPGRADING FROM EARLIER RELEASES
-------------------------------
Release with the same major number (1.x) are intended to be drop-in
replacements. However, in most cases the versions of dependency jars
must be adjusted because newer versions of Velocity might require
updates.
Upgrading from Velocity 1.4 or earlier
* JDOM has been upgraded to version 1.0.
* Commons Collections has been upgraded to version 3.1.
* Commons Lang 2.1 has been added.
Optional:
* Apache Ant 1.6 or better is required for rebuilding.
* Java CC 3.2 is recommended to compile the parser files.
* HSQLDB 1.7.1 is required for running unit tests.
Upgrading from Velocity 1.5
* Commons Collections has been upgraded to version 3.2.1.
* Commons Lang has been upgraded to version 2.4.
* Commons Logging 1.1 has been added.
Optional:
* Maven Ant 2.0.9 is required for the Maven Ant tasks.
* Java CC 4.1 is recommended to compile the parser files.
BUILDING APACHE VELOCITY
------------------------
In order to use the latest version of Apache Velocity, you may want to
build it.
Building is easy. All components necessary to build are included or
get downloaded from the internet during the build, except for the Java
2 SDK and the Ant build tool. You can find details on how to build
Velocity online at:
http://velocity.apache.org/engine/devel/build.html
Note that you must use Ant version 1.6 or later.
*IMPORTANT* As the Apache Velocity build process wants to download a
number of jars from the internet, you must be online when you are
building for the first time.
To build Velocity's jar, change directory into the build/ directory
and enter:
ant jar
This will create a bin/ directory containing the Velocity .jar
file. Be sure to update your classpath to include Velocity's .jar
file, or when using a modern servlet container, put it in the
WEB-INF/lib directory.
If you wish to build a jar that contains all dependencies, we have
provided an optional build target for your convenience:
ant jar-dep
This will build a complete Velocity jar with dependencies included,
and it can be found in the /bin directory as
velocity-dep-<version>.jar
TRYING THE EXAMPLES
-------------------
After building Velocity, you can also buld the examples that are
included with the Velocity distribution. These examples show how to
use Velocity in your Java applications. There also are examples of
how to use Anakia, a XML transformation engine.
For more information, please see the README.txt in the examples/
directory.
- The Apache Velocity Team