# EJB Packaging

## Target Audience and Content

The target audience for this guide is the Enterprise Bean provider, i.e. the person in charge of developing the software components on the server side. It describes how the bean components should be packaged.

The content of this guide is the following:

1. Target Audience and Content
2. Principles

## Principles

Enterprise Beans are packaged for deployment in a standard Java programming language Archive file, called an ejb-jar file. This file must contain

The beans' class files
  the class files of the remote and home interfaces, of the beans' implementations, of the beans' primary key classes (if there are some), and of all necessary classes.
The beans' deployment descriptor
  The ejb-jar file must contain the deployment descriptors, made up of:
  - The standard xml deployment descriptor, in the format defined in the EJB 2.0 specification. See $JONAS_ROOT/xml/ejb-jar_2_0.dtd This deployment descriptor must be stored with the name META-INF/ejb-jar.xml in the ejb-jar file.
  - The JOnAS specific xml deployment descriptor in the format defined in $JONAS_ROOT/xml/jonas-ejb-jar_X_Y.dtd. This JOnAS deployment descriptor must be stored with the name META-INF/jonas-ejb-jar.xml in the ejb-jar file.

### Example

To build the ejb-jar file of the Account entity bean example, the java source files should have been compiled to obtain the class files and the two XML deployment descriptors should have been written.

Then, the ejb-jar file (OpEB.jar) is built, using the jar command:

        cd your_bean_class_directory
        mkdir META-INF
        cp .../eb/*.xml META-INF
        jar cvf OpEB.jar sb/*.class META-INF/*.xml