Chapter 23. EAR Packaging

This chapter is for the Application Assembler; that is, the person in charge of combining one or more J2EE components (EJB-JARs and/or WARs) to create a J2EE application. It describes how the J2EE components should be packaged to create a J2EE application.

23.1. Principles

J2EE applications are packaged for deployment in a standard Java programming language Archive file called an EAR file (Enterprise ARchive). This file can contain the following:

The web components (WAR)

One or more WARs that contain the web components of the J2EE application. Due to the class loader hierarchy, when the WARs are packaged in a J2EE application, it is not necessary to package bean classes in the WEB-INF/lib directory.

Details about this class loader hierarchy are described in Chapter 5 JOnAS Class Loader Hierarchy.

The beans (EJB-JAR)

One or more EJB-JARs, which contain the beans of the J2EE application.

The libraries (JAR)

One or more jars which contain the libraries (tag libraries and any utility libraries) used for the J2EE application.

The J2EE deployment descriptor

The standard XML deployment descriptor in the format defined in the J2EE 1.4 specification (refer to $JONAS_ROOT/xml/application_1_5.xsd or http://java.sun.com/xml/ns/j2ee/connector_1_5.xsd). This deployment descriptor must be stored with the name META-INF/application.xml in the EAR file.

23.1.1. EAR Packaging Example

Before building an EAR file for a J2EE application, the EJB-JARs and the WARs that will be packaged in the J2EE application must be built and the XML deployment descriptor (application.xml) must be written.

Then, the EAR file (<j2ee-application>.ear) can be built using the jar command:

cd <your_j2ee_application_directory>
jar cvf <j2ee-application>.ear *