On this page:

Target audience:

Users of the extension providing JEE analysis support.

Summary: This document provides information about the extension providing JEE analysis support.


This extension provides support for JEE.

What's new?

Please see the following pages for information about new features/changes, fixed bugs, changes that will impact results etc.:

Technology support

Please also see JEE Analyzer - Technology support notes for additional information.

Language / FrameworkSupportedSupported Versions

Java JDK

  • 1.1 - 1.8
Presentation layer frameworks


Java Server Faces (JSF)(tick)
  • 1.2
  • 2.0, 2.1

This includes the support of the following third-party JSF libraries:

  • Richfaces
  • IceFaces
  • MyFaces (Apache)
  • PrimeFaces
  • 1.1, 1.2
  • 2.0

JSPX documents (JSP in XML format) are not supported.

Apache Struts

  • 1.0, 1.1 (including Tiles 1.0 and STXX 1.0 - 1.2)
  • 2.0 - 2.5
Struts Validator(tick)
  • 1.2, 1.3
  • 1.0, 1.1, 1.2
Persistence layer frameworksHibernate(tick)
  • 2.x
  • 3.1, 3.2, 3.3, 3.4, 3.5, 3.6
  • 4.0, 4.1, 4.2, 4.3-5.x
  • 1.0
  • 2.0, 2.1
  • 2.0, 2.1
  • 3.x (only @Stateless, @Stateful, @Local and @Remote annotations are supported)
Other frameworksSpring IoC(tick)
  • 1.2.x
  • 2.x
  • 3.x
  • 4.x


  • 1.1


  • 1.0, 1.1, 1.2
Spring Batch(tick)-

Function Point, Quality and Sizing support

This extension provides the following support:

Function Points
Quality and Sizing

CAST AIP compatibility

This extension is compatible with:

CAST AIP releaseSupported

Supported DBMS servers

This extension is compatible with the following DBMS servers:

CAST AIP releaseCSS2OracleMicrosoft
All supported releases(tick)(tick)(tick)


(tick)An installation of any compatible release of CAST AIP (see table above)

Required third-party software

The following section lists any third-party software that may be required to successfully deliver source code and run an analysis with the JEE Analyzer extension:

Install on workstation running DMTInstall on workstation running CMS

Nothing required

The CAST Delivery Manager Tool (DMT) only requires the location of the JEE application for extraction and packaging.

Nothing required

Dependencies with other extensions

Some CAST AIP extensions require the presence of other CAST AIP extensions in order to function correctly. The JEE Analyzer extension requires that the following other CAST AIP extensions are also installed:

Note that when using the CAST Extension Downloader to download the extension and the Manage Extensions interface in CAST Server Manager to install the extension, any dependent extensions are automatically downloaded and installed for you. You do not need to do anything.

Download and installation instructions

Please see:

Application qualification information

Please see: JEE Analyzer - Application qualification specifics

Packaging, delivering and analyzing your source code

Please see: JEE Analyzer - Packaging, delivering and analyzing your source code and all child pages:

What analysis results can you expect?

Please see: JEE Analyzer - Analysis results

Current known limitations

See also JEE Analyzer - Technology support notes.

Quality Rules

Avoid static field of type collection (7562)

When calculating a snapshot for applicationusing JSE 5.0, the Quality Rule "Avoid static field of type collection (7562)" does not list as "Very High Risk Objects" classes that are or inherit from a Generic collection. The Quality Rule lists only the non generic form of collections. For example static attributes of type java.util.Collection<E> will not be reported as a violation.

Persistence: Avoid table and column names that are too long (portability) (7706)


Symptoms: The JPA entity is not listed as a "Very High Risk" object in the results.

No link bookmarks generated

When Java Methods are defined inside a JSP file, no link bookmarks are generated (bookmarks can be seen in CAST Enlighten or in the Dynamic Link Manager). Example of a Java Method defined in a JSP file:

<%@ page language="Java" %> 
public void myMethod(String message)
{ System.out.println(message); }