J2EE application assemblers assemble J2EE Modules into a J2EE Application. Application Assemblers can pick off-the-shelf modules and use them
in their applications simply by modifying the deployment descriptors or by providing alternative descriptors.
Some application servers require an EAR "wrapper" around the EJB-JAR, WAR, and other JAR archives for deployment, which
means that the J2EE application component provider may also need to assemble an EAR for testing.
Detailed steps assembling a J2EE Application are provided by the J2EE specification, section J2EE.8.3 Application
Assembly. The following is a summarized extract of this guidance.
Assembling a J2EE Application
Assembling a J2EE Application involves the following steps:
Select the J2EE Modules that will be used by the application.
Create an application directory structure.
Reconcile J2EE Module deployment descriptors.
Edit J2EE Module deployment descriptors to link internally satisfied dependencies and eliminate redundant
security role names.
Define transactions, security roles, method permissions, etc.
Optionally use the alt-dd element to specify an alternative deployment descriptor while preserving the
original deployment descriptor.
Assign a context root for each web module included in the J2EE application.
Ensure component dependencies are correctly described.
Ensure there is only one version of each class in the application.
Create an XML deployment descriptor for the application named "application.xml".
Package the application.
a. Place the J2EE modules in the appropriate directories. Place the deployment descriptor in
b. Package into a ".EAR" file.
J2EE modules may be added to an application before
deployment, using the following steps:
Decide on a location in the application package for the new module. Optionally
create new directories in the application package hierarchy.
Copy the new J2EE Modules to the desired location in the application package.
Edit the deployment descriptors for the J2EE Modules to link the dependencies
which are internally satisfied by the J2EE Modules included in the application.
Edit the J2EE Application deployment descriptor as required.
Similarly a module can be removed by removing the module from the application package hierarchy and editing the
deployment descriptors to remove inconsistencies.
Validating the Application
It is a good idea to valid the contents of the archive before attempting deployment, as obscure errors, especially on
the application server side, may result in obscure or non-existent error messages. For example, confirm there is at
least one module defined in the EAR
The EAR can also be validated using a J2EE verifier tool that is provided with the J2EE SDK. It makes sure that the EAR
is internally consistent and well-formed. For example, it makes sure that the module and application archives are
consistent with the standard specifications (J2EE, Servlet, and EJB).