maven-plugins/ejb/xdocs/properties.xml
vmassol 30a1422cbb - Added new <code>maven.ejb.build.dir</code> property that specifies the location where the EJBs are generated.
- Modified existing <code>maven.ejb.final.name</code> property (and exposed it as a public property) so that it doesn't include the path (the path is now provided by the new <code>maven.ejb.build.dir</code> property). This allows aligning the WAR and EJB plugin properties. Note: This is a breaking change for all those using the <code>maven.ejb.final.name</code> property (which was not a public property).
- Made the <code>maven.ejb.final.name</code> property public as it is required by several other plugins and before this change the only way is for these plugins was to call the non-public <code>ejb:init</code> goal.


git-svn-id: https://svn.apache.org/repos/asf/maven/maven-1/plugins/trunk@115829 13f79535-47bb-0310-9956-ffa450edef68
2004-07-15 10:08:14 +00:00

198 lines
5.8 KiB
XML

<?xml version="1.0" encoding="ISO-8859-1"?>
<!--
/*
* Copyright 2001-2004 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.index</td>
<td>Yes</td>
<td>
Whether to create an index list to speed up classloading.
This is a JDK 1.3+ specific feature. Defaults to false.
</td>
</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>
src/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.
</td>
<td>
${maven.final.name}.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. Defaults to 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>
None
</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>
</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>