maven-plugins/ejb/xdocs/properties.xml

226 lines
6.6 KiB
XML

<?xml version="1.0" encoding="ISO-8859-1"?>
<!--
/*
* Copyright 2001-2005 The Apache Software Foundation.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-->
<document>
<properties>
<title>Properties</title>
<author email="nathan.coast@blueyonder.co.uk">Nathan Coast</author>
<author email="vmassol@apache.org">Vincent Massol</author>
</properties>
<body>
<section name="ejb jar settings">
<table>
<tr><th>Property</th><th>Optional?</th><th>Description</th><th>Default</th></tr>
<tr>
<td>maven.ejb.src</td>
<td>Yes</td>
<td>
Root of files to be included within the ejb-jar.
The same directory structure will be followed within the assembled jar file.
<strong>
Please note this is not for your java code or class files, these are other resources.
Alternatively, you can use the
<a href="http://maven.apache.org/reference/project-descriptor.html#resources">resources element</a>
of the <code>project.xml</code> to specify resource across various
directories, just as you would for a jar or war project.
</strong>
</td>
<td>
${maven.src.dir}/ejb
</td>
</tr>
<tr>
<td>maven.ejb.build.dir</td>
<td>Yes</td>
<td>
Location where to place the generated EJB files.
</td>
<td>
${maven.build.dir}
</td>
</tr>
<tr>
<td>maven.ejb.final.name</td>
<td>Yes</td>
<td>
Name of the generated EJB file (without the path which is specified
by the <code>maven.ejb.build.dir</code> property).
</td>
<td>
${maven.final.name}.jar
</td>
</tr>
<tr>
<td>maven.ejb.client.final.name</td>
<td>Yes</td>
<td>
Name of the generated EJB client file (without the path which is
specified by the <code>maven.ejb.build.dir</code> property).
</td>
<td>
${maven.final.name}-client.jar
</td>
</tr>
<tr>
<td>maven.ejb.includes</td>
<td>Yes</td>
<td>
Files to include in ejb.
Note: Files are relative to
<code>${maven.build.dest}</code>.
</td>
<td>**</td>
</tr>
<tr>
<td>maven.ejb.excludes</td>
<td>Yes</td>
<td>
Files to exclude in ejb
Note: Files are relative to
<code>${maven.build.dest}</code>.
</td>
<td>**/package.html</td>
</tr>
<tr>
<td>maven.ejb.client.index</td>
<td>Yes</td>
<td>
Whether to create an index list to speed up classloading.
This is a JDK 1.3+ specific feature.
</td>
<td>
false
</td>
</tr>
<tr>
<td>maven.ejb.client.base.excludes</td>
<td>Yes</td>
<td>
Classes excluded by default from a client ejb jar
</td>
<td>
**/*Bean.class,**/*CMP.class,**/*Session.class
</td>
</tr>
<tr>
<td>maven.ejb.client.excludes</td>
<td>Yes</td>
<td>
Classes excluded from a client ejb jar
</td>
<td>
No default
</td>
</tr>
<tr>
<td>maven.ejb.manifest</td>
<td>Yes</td>
<td>
Location of the manifest file to be used within the ejb jar file.
</td>
<td>
${maven.ejb.src}/META-INF/MANIFEST.MF
</td>
</tr>
<tr>
<td>maven.ejb.client.generate</td>
<td>Yes</td>
<td>
Decide wether to generate an ejb client jar or not.
</td>
<td>
false
</td>
</tr>
<tr>
<td>maven.ejb.index</td>
<td>Yes</td>
<td>
Whether to create an index list to speed up classloading.
This is a JDK 1.3+ specific feature.
</td>
<td>
false
</td>
</tr>
</table>
</section>
<section name="other settings">
<table>
<tr><th>Property</th><th>Description</th><th>See</th></tr>
<tr>
<td>maven.build.dir</td>
<td>where the component will be assembled</td>
<td>
<A href="../java/properties.html#Other Settings">maven.build.dir</A>
</td>
</tr>
<tr>
<td>maven.final.name</td>
<td>The assembled component will be <code>${maven.build.dir}/${maven.final.name}.jar</code></td>
<td>
<A href="../java/properties.html#Other Settings">maven.final.name</A>
</td>
</tr>
</table>
</section>
<section name="Including Jars in standalone ejb jars">
<p>
You must tell Maven what jars you want included in the ejb. This is
probably only needed if you are building a standalone ejb jar. This
is achieved by specifying meta-information in the POM, using the
following syntax:
</p>
<source><![CDATA[
<dependency>
<id>jarid</id>
<version>jarversion</version>
<properties>
<ejb.bundle>true</ejb.bundle>
</properties>
</dependency>
]]></source>
</section>
<section name="Generating the manifest Class-Path entry">
<p>
To access the classes within other jars (either within the same
ear file or embedded within the same ejbjar), you will need to
use the manifest Class-Path entry. To generate the classpath
for an ejb-jar from the dependencies use this syntax.
</p>
<source><![CDATA[
<dependency>
<id>jarid</id>
<version>jarversion</version>
<properties>
<ejb.manifest.classpath>true</ejb.manifest.classpath>
</properties>
</dependency>
]]></source>
</section>
</body>
</document>