= Deployments
:index-group: Configuration
:jbake-date: 2018-12-05
:jbake-type: page
:jbake-status: published


= The 'Deployments' element in tomee.xml

== A single jar

To include a single jar by name, just declare a 'Deployments' element
with a 'jar' attribute pointing to the jar file on the file system.

[source,xml]
----
<tomee>
...
<Deployments jar="c:\my\app\superEjbs.jar" />
<Deployments jar="c:\someplace\purchasing.jar" />
<Deployments jar="timeTrack.jar" />
</tomee>
----

The last element in the example uses a relative path to point to the ejb
jar. This path will be resolved relative to the catalina.base property.
So, for example, of the value of catalina.base was 'c:' then TomEE
would look for the jar 'c:.jar'. See the [OPENEJB:Configuration] guide
for more details.

== A directory of jars

To point to a directory that contains several jar files that TomEE
should load, simply declare a 'Deployments' element with a 'dir'
attribute pointing to the directory containing the jar files.

[source,xml]
----
<tomee>
...

<Deployments dir="c:\my\app\beans\" />
<Deployments dir="c:\crimestopper\lib" />
<Deployments dir="ejbs" />
<Deployments dir="beans" />
</tomee>
----

The directories listed will be searched for jars containing
'META-INF/ejb-jar.xml' files and will be added to the list of jars to
load if they do. Better said, it's completely safe to point to a
directory containing a mix of ejbs and regular jar files. TomEE will
simply skip over jars that do contain the required
'META-INF/ejb-jar.xml' file.

The last Deployments element declares a 'beans' directory relative to
catalina.base for holding ejb jars. This declaration is simply convention
and not required.

== An unpacked jar

As of 1.0 beta1, TomEE supports unpacked ejb jars. Simply meaning that
you don't need to pack your ejb's into a jar file in order to use them
in TomEE. You still need to follow the ejb jar layout and include an
"META-INF/ejb-jar.xml" in the directory that contains your ejbs.

For example, if you have a directory structure like this:

[source,java]
----
> C:\myapp\
> C:\myapp\acmeEjbs\
> C:\myapp\acmeEjbs\META-INF\ejb-jar.xml
> C:\myapp\acmeEjbs\org\acme\Foo.class
> C:\myapp\acmeEjbs\org\acme\FooBean.class
> C:\myapp\acmeEjbs\org\acme\FooHome.class
> C:\myapp\acmeEjbs\org\acme\Bar.class
> C:\myapp\acmeEjbs\org\acme\BarBean.class
> C:\myapp\acmeEjbs\org\acme\BarHome.class
----

Then you would delcare a 'Deployments' element with the 'dir' attribute
set to 'C:' as shown below.

[source,xml]
----
<tomee>
...

<Deployments dir="c:\myapp\acmeEjbs" />
</tomee>
----

Note that this syntax is the same as the directory syntax above. If
TomEE finds a META-INF directory with an 'ejb-jar.xml' fine inside,
then TomEE will treat the directory as an unpacked ejb jar. Otherwise
TomEE will look for ejb jar files to load as detailed in the above
section.

== Log file

When trying to figure out if your ejbs were loaded, the openejb.log file
is an incredible asset.

If your ejbs were loaded successfully you should see entries like the
following (1.x and higher only):

[source,properties]
----
INFO :  Loaded EJBs from
/usr/local/openejb-1.0-beta1/beans/openejb-itests-beans.jar
INFO :  Loaded EJBs from
/usr/local/openejb-1.0-beta1/beans/openejb-webadmin-clienttools.jar
----

If your ejbs failed to load, you will see an entry similar to the
following.

[source,properties]
----
WARN :  Jar not loaded. /usr/local/openejb-1.0-beta1/beans/helloworld.jar.
Jar failed validation.  Use the validation tool for more details
----

Additionally, all the successfully loaded ejbs are individually listed
in the log file at startup. The Deployment ID listed is the JNDI name
used to lookup the ejb from a client of the Local or Remote Servers. The
beans listed below are from our test suite.

[source,properties]
----
DEBUG:  Deployments   : 19
DEBUG:  Type        Deployment ID
DEBUG:     CMP_ENTITY  client/tests/entity/cmp/RMI-over-IIOP/EJBHome
DEBUG:     STATEFUL    client/tests/stateful/EncBean
DEBUG:     STATELESS   client/tests/stateless/BeanManagedBasicStatelessHome
DEBUG:     STATEFUL    client/tests/stateful/BasicStatefulHome
DEBUG:     STATELESS   client/tests/stateless/EncBean
DEBUG:     STATEFUL   client/tests/stateful/BeanManagedTransactionTests/EJBHome
DEBUG:     BMP_ENTITY  client/tests/entity/bmp/RMI-over-IIOP/EJBHome
DEBUG:     STATEFUL    client/tests/stateful/RMI-over-IIOP/EJBHome
DEBUG:     STATELESS  client/tests/stateless/BeanManagedTransactionTests/EJBHome
DEBUG:     BMP_ENTITY client/tests/entity/bmp/allowed_operations/EntityHome
DEBUG:     CMP_ENTITY  client/tests/entity/cmp/EncBean
DEBUG:     STATEFUL    client/tests/stateful/BeanManagedBasicStatefulHome
DEBUG:     BMP_ENTITY  client/tests/entity/bmp/BasicBmpHome
DEBUG:     STATELESS   client/tests/stateless/BasicStatelessHome
DEBUG:     CMP_ENTITY  client/tests/entity/cmp/BasicCmpHome
DEBUG:     STATELESS   client/tools/DatabaseHome
DEBUG:     CMP_ENTITY client/tests/entity/cmp/allowed_operations/EntityHome
DEBUG:     BMP_ENTITY  client/tests/entity/bmp/EncBean
DEBUG:     STATELESS   client/tests/stateless/RMI-over-IIOP/EJBHome
----
