Getting Started

You are viewing an old version (v. 12) of this page.
The latest version is v. 30, last edited on Jan 20, 2012 (view differences | )
<< View previous version | view page history | view next version >>

Getting Started

This section describes where to get ICEfaces 2.0, how to run the examples, and how to get started using ICEfaces 2.0 to develop your own applications.

Downloading ICEfaces 2.0

The latest official release of all ICEfaces products, including ICEfaces 2.0, can be found on the ICEfaces Downloads page.

Supported Platforms

The current release (Alpha 2) of ICEfaces 2.0 has been tested to run on the following application servers:

  • Glassfish 3
  • Tomcat 6 (by including the JSF 2.0 runtime libraries in the project)

Note that ICEfaces 2.0 should work on any JEE 6 Web Profile compliant platform.

ICEfaces Libraries

ICEfaces 2.0 provides the following libraries:


This is the ICEfaces 2.0 core framework and is required for all applications.


This is the library that provides Ajax Push functionality for ICEfaces 2.0.

icefaces-compat-components.jar, icefaces-compat.jar

These libraries contain the ICEfaces 1.8.x version of the component suite and the compatibility layer that is compatible with ICEfaces 2.0. You should include these libraries if you want to use components other than the standard components or if you are porting an existing ICEfaces 1.8.x application to ICEfaces 2.0. See the [Compatibility] section for more information.

Running the Examples

The ICEfaces 2.0 distribution comes with example applications that illustrate the key features of ICEfaces 2.0 as well as providing source code and guidance about configuration and library dependencies.

Build ICEfaces Libraries

The ICEfaces binary libraries come pre-built in the distribution. If you need to build them again (e.g. perhaps you've tweaked the source code), open a console or shell and navigate to the directory where you unzipped the ICEfaces distribution. Then, in the console, type the following and press Enter:

ant cleanall world

This builds all of the ICEfaces libraries and sample applications for the default platform.

I think the default for the compat examples is Tomcat but the default for the stock samples is Glassfish
Compatibility Examples

The examples under the [icefaces2.install.dir]/compat/samples directory use the compatible version of the ICEfaces 1.8.x component suite and the compatibility layer that allows them to operate under ICEfaces 2.0.

The main example is the Component Showcase - a version of the original ICEfaces 1.8 Component Showcase ported to run on ICEfaces 2.0. To run any of the compatibility examples, open a console or shell and navigate to the directory (e.g. [icefaces2.install.dir]/compat/samples/component-showcase), type:

ant -p

And press Enter. This will show a list of build targets for various platforms. To build a version of the compatible Component Showcase for Glassfish 3, you would then type:

ant clean glassfishv3
The build shows more platforms than we officially support. How to reconcile?
JSF 2.0 Examples

The examples under [icefaces2.install.dir]/samples do not use the compatibility layer or the compatible component suite. These applications use only standard JSF 2.0 components enhanced with ICEfaces. As such, they require far fewer library dependencies.

The main example is Auction - a version of the original ICEfaces 1.8 Auction Monitor application ported to run on ICEfaces 2.0 but modified to use only standard components and ICEpush. To run any of the pure JSF 2.0 examples, open a console or shell and navigate to the directory (e.g. [icefaces2.install.dir]/samples/auction), type:

ant -p

and press Enter. This will show a list of build targets for various platforms. To build a version of the Auction for Glassfish 3, you would then type:


and press Enter. Since there are far fewer library dependencies involved, the build targets are relatively simple. The default build (i.e. just using 'ant') builds a Glassfish 3 compatible .war. This will include icefaces.jar and icepush.jar. This can be modified using either the convenience targets in the build file or the properties as follows:

ant war.jsf

This includes jsf-*.jar files only.


This includes jsf-* and icefaces.jar.


This includes jsf-*, icefaces.jar, and icepush.jar

The properties can also be used directly with the ant command to add the related .jar files to the .war file:

ant -Djsf='true' -Dice='true' -Dpush='true'

Configuring a JSF 2.0 Application to Use ICEfaces

If you're just starting to build a JSF 2.0 application, or you've already started building one and you'd like to add ICEfaces, it's simple to do:

Include the necessary libraries
  • icefaces.jar is always required.
  • icefaces-compat-component.jar and icefaces-compat.jar if you are using more than the standard components.
  • icepush.jar you are using Ajax Push.
  • jsf-api.jar and jsf-impl.jar if the platform you plan to run on does not already supply them. For example, Glassfish 3 already has the JSF 2.0 libraries provided. Tomcat 6 does not.

ICEfaces 2.0 does not require an additional configuration beyond what JSF 2.0 requires. Simply ensure you have the FacesServlet declared appropriately in your web.xml file:

        <servlet-name>Faces Servlet</servlet-name>
        <servlet-name>Faces Servlet</servlet-name>
Enter labels to add to this page:
Please wait 
Looking for a label? Just start typing.

© Copyright 2017 ICEsoft Technologies Canada Corp.