dion 2002/06/13 18:33:46
Modified: xdocs/plugins/j2ee build-file.xml futures.xml index.xml
navigation.xml properties.xml
Added: xdocs/plugins/j2ee appserver.xml
Log:
AppServer docs patch from Pete Lynch
Revision Changes Path
1.3 +225 -27 jakarta-turbine-maven/xdocs/plugins/j2ee/build-file.xml
Index: build-file.xml
===================================================================
RCS file: /home/cvs/jakarta-turbine-maven/xdocs/plugins/j2ee/build-file.xml,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- build-file.xml 31 May 2002 16:51:19 -0000 1.2
+++ build-file.xml 14 Jun 2002 01:33:46 -0000 1.3
@@ -4,6 +4,7 @@
<properties>
<author email="[EMAIL PROTECTED]">dIon Gillard</author>
<author email="[EMAIL PROTECTED]">Kevin O'Neill</author>
+ <author email="[EMAIL PROTECTED]">Peter Lynch</author>
<title>Maven J2EE Plug-in Build File Documentation</title>
</properties>
@@ -27,7 +28,7 @@
main build file. This will enable you to use your existing
build file with the additional Maven functionality. In
addition, it is also recommended that you load a standard set of
- property files. The property files will setup your environment,
+ property files. The property files will setup your environment,
<code>${lib.repo}</code> and <code>${maven.home}</code>, and
allow you to override Maven defaults properties. Please refer
to the <a href="../../start/integrate.html">Integration</a> document for
@@ -54,8 +55,8 @@
The build file utilizes various properties for default and
user-configurable settings. All J2EE Plug-in properties are described
in the <a href="./properties.html">Properties</a> document.
-
- The rest of this document assumes your project follows the standard
+
+ The rest of this document assumes your project follows the standard
<a href="dirlayout.html">Directory Layout</a>; however, it is
possible to override many of these defaults.
</p>
@@ -79,6 +80,24 @@
<td><a href="#maven:ear">maven:ear</a></td>
<td>Creates an <code>EAR</code> file.</td>
</tr>
+ <tr>
+ <td><a href="#maven:appserver-install">maven:appserver-install</a></td>
+ <td>Installs an Application Server instance</td>
+ </tr>
+ <tr>
+ <td><a href="#maven:appserver-start">maven:appserver-start</a></td>
+ <td>Starts an Application Server instance</td>
+ </tr>
+ <tr>
+ <td><a href="#maven:appserver-stop">maven:appserver-stop</a></td>
+ <td>Stops an Application Server instance</td>
+ </tr>
+ <tr>
+ <td><a href="#maven:appserver-clean">maven:appserver-clean</a></td>
+ <td>Safely deletes the Application Server instance installation directory
+ specified by the <code><a
href="./properties.html">${maven.appserver.dir}</a></code>
+ property.</td>
+ </tr>
</table>
<p/>
<subsection name="maven:war">
@@ -125,10 +144,10 @@
<tr>
<td>Java classes</td>
<td>
- Class files in the
- <code><a href="../properties.html#Directory Layout
Settings">${maven.build.dest}</a></code>
- directory. The properties <code><a
href="properties.html#maven.j2ee.war.classes.includes">${maven.j2ee.war.classes.includes}</a></code>
- and <code><a
href="properties.html#maven.j2ee.war.classes.excludes">${maven.j2ee.war.classes.excludes}</a></code>
+ Class files in the
+ <code><a href="../properties.html#Directory Layout
Settings">${maven.build.dest}</a></code>
+ directory. The properties <code><a
href="properties.html#maven.j2ee.war.classes.includes">${maven.j2ee.war.classes.includes}</a></code>
+ and <code><a
href="properties.html#maven.j2ee.war.classes.excludes">${maven.j2ee.war.classes.excludes}</a></code>
determine how to filter the directory contents for
inclusion in the war. These files are placed in the
<code>/WEB-INF/classes</code> of the resulting war file.
@@ -139,7 +158,7 @@
<td>
A J2EE web application deployment descriptor, which is
placed in the <code>/WEB-INF</code> of the resulting war
- file. The <code><a
href="properties.html#maven.j2ee.war.webxml">${maven.j2ee.war.webxml}</a></code>
+ file. The <code><a
href="properties.html#maven.j2ee.war.webxml">${maven.j2ee.war.webxml}</a></code>
property defines the location of this file
</td>
</tr>
@@ -147,7 +166,7 @@
</subsection>
<subsection name="maven:validate-war">
<p>
- The <code>maven:validate-war</code> target validates the newly
+ The <code>maven:validate-war</code> target validates the newly
produced war file.
</p>
<p>
@@ -155,7 +174,7 @@
<ol>
<li>The war file exists</li>
<li>It is readable</li>
- <li>The war file has a web.xml (it's only a warning if it
+ <li>The war file has a web.xml (it's only a warning if it
doesn't exist)</li>
<li>Servlets defined by a <code><servlet></code> tag are loadable
from the war file and <strong>not</strong> the classpath</li>
@@ -163,20 +182,20 @@
</li>
<li>Taglibs defined by a <code><taglib></code> have a <code>
<taglib-location></code> that exists in the war</li>
- <li>Error pages specified by a <code><location></code> nested
+ <li>Error pages specified by a <code><location></code> nested
within an <code><error-page></code> element must exist in the
war file</li>
<li>Login and error pages specified in the <code><form-login-config
></code> element must exist in the war file</li>
</ol>
- </p>
+ </p>
</subsection>
<subsection name="maven:ejb">
<p>
The <code>maven:ejb</code> target generates the <code>ejb</code> jar file
for the project. Optionally it can also create jars containing the local
- and remote interfaces. The files are produced in the
- <code><a href="../properties.html#Directory Layout
Settings">${maven.build.dir}</a>/ejb</code>
+ and remote interfaces. The files are produced in the
+ <code><a href="../properties.html#Directory Layout
Settings">${maven.build.dir}</a>/ejb</code>
directory and have a name based on the
<code><a
href="properties.html#maven.j2ee.ejb.name">${maven.j2ee.ejb.name}</a></code>
property.
@@ -189,7 +208,7 @@
</ul>
</p>
<p>
- Maven also includes the license file, LICENSE.txt, if it exists, in
+ Maven also includes the license file, LICENSE.txt, if it exists, in
the META-INF directory.
</p>
<p>
@@ -210,10 +229,10 @@
<tr>
<td>Classes</td>
<td>
- The files in the <code><a href="../properties.html#Directory Layout
Settings">${maven.build.dest}</a></code>
- directory to be included is specified using the
+ The files in the <code><a href="../properties.html#Directory Layout
Settings">${maven.build.dest}</a></code>
+ directory to be included is specified using the
<code><a
href="properties.html#maven.j2ee.ejb.includes">${maven.j2ee.ejb.includes}</a></code>
- and <code><a
href="properties.html#maven.j2ee.ejb.excludes">${maven.j2ee.ejb.excludes}</a></code>
+ and <code><a
href="properties.html#maven.j2ee.ejb.excludes">${maven.j2ee.ejb.excludes}</a></code>
properties.
</td>
</tr>
@@ -221,11 +240,11 @@
<td>Meta-Inf</td>
<td>
Files to be included the <code>META-INF</code> directory of the ejb
- jar file may be specified using the
+ jar file may be specified using the
<code><a href="properties.html#maven.j2ee.ejb.conf.dir">
- ${maven.j2ee.ejb.conf.dir}</a></code>,
+ ${maven.j2ee.ejb.conf.dir}</a></code>,
<code><a href="properties.html#maven.j2ee.ejb.conf.includes">
- ${maven.j2ee.ejb.conf.includes}</a></code> and
+ ${maven.j2ee.ejb.conf.includes}</a></code> and
<code><a href="properties.html#maven.j2ee.ejb.conf.excludes">
${maven.j2ee.ejb.conf.excludes}</a></code> properties.
</td>
@@ -235,14 +254,14 @@
<subsection name="maven:ear">
<p>
The <code>maven:ear</code> target generates an ear file for the
- project. The ear file is produced in the
- <code><a href="../properties.html#Directory Layout
Settings">${maven.build.dir}</a></code>
+ project. The ear file is produced in the
+ <code><a href="../properties.html#Directory Layout
Settings">${maven.build.dir}</a></code>
directory and has a name defined by the
<code><a
href="properties.html#maven.j2ee.ear.name">${maven.j2ee.ear.name}</a></code>
property.
</p>
<p>
- This target automatically invokes the
+ This target automatically invokes the
<code><a href="#maven:war">maven:war</a></code> target to ensure
any war generated by the project is included in the ear.
</p>
@@ -260,18 +279,197 @@
<td>
A J2EE enterprise application deployment descriptor, which
is placed in the root of the resulting ear file.
- The <code><a
href="properties.html#maven.j2ee.ear.appxml">${maven.j2ee.ear.appxml}</a></code>
+ The <code><a
href="properties.html#maven.j2ee.ear.appxml">${maven.j2ee.ear.appxml}</a></code>
property defines the location of this file.
</td>
</tr>
<tr>
<td>Other Content</td>
<td>
- Files in the <code><a href="../properties.html#Directory Layout
Settings">${maven.build.dir}</a></code>
+ Files in the <code><a href="../properties.html#Directory Layout
Settings">${maven.build.dir}</a></code>
directory may be included using the
<code><a
href="properties.html#maven.j2ee.ear.includes">${maven.j2ee.ear.includes}</a></code>
- and <code><a
href="properties.html#maven.j2ee.ear.excludes">${maven.j2ee.ear.excludes}</a></code>
+ and <code><a
href="properties.html#maven.j2ee.ear.excludes">${maven.j2ee.ear.excludes}</a></code>
properties.
+ </td>
+ </tr>
+ </table>
+ </subsection>
+
+ <!-- maven:appserver-* targets ======================================= -->
+
+ <subsection name="maven:appserver-install">
+ <p>
+ The <code>maven:appserver-install</code> target installs the minimum
+ directory and file structure necessary for an individual application
+ server instance. Once the structure is created inside the
+ directory specified by <a
href="properties.html#maven.appserver.dir">${maven.appserver.dir}</a>
+ , configuration files are installed using the copy task and the filter
+ mechanism built into <a href="http://jakarta.apache.org/ant">Ant</a>.
+ The exact work done by this target is specific to the
+ name and version of the application server you specify using
+ <a href="properties.html#maven.appserver.name">${maven.appserver.name}</a>
+ and <a
href="properties.html#maven.appserver.version">${maven.appserver.version}</a>
+ properties.
+ </p>
+ <p>
+ Optionally, you can invoke the <code>install</code> target of the
+ Ant build.xml file copied to ${maven.appserver.dir} instead. See the
+ <a href="appserver.html#Appserver Proxy Build File">appserver proxy build
file</a> for more
+ information.
+ </p>
+ <p>
+ During the configuration process, all
+ <a href="./properties.html#Application Server">maven.appserver.*
properties</a>
+ are used as filter tokens while files in
+ ${maven.conf.dir}/${maven.appserver.name}${maven.appserver.version} are
+ copied to ${maven.appserver.dir}. By default, certain files are
+ excluded from copying to ${maven.appserver.dir}. Files excluded are:
+ </p>
+ <ul>
+ <li>**/web.xml/**</li>
+ </ul>
+ <p>
+ This allows you to keep you webapp specific conf files in the same
+ directory and not have them installed with this target needlessly.
+ </p>
+ <p>
+ Your configuration files may require additional processing ( using
additional
+ filter tokens for example). In that case you can use the
+ <a
href="properties.html#maven.appserver.post-appserver-install.buildFile">maven-post-appserver-install</a>
+ callback target to re-configure files.
+ </p>
+ <p>
+ This target has different behavior
+ depending on the current status of the application server. The
+ behavior is defined by the following rules:
+ </p>
+ <table>
+ <tr><th>Server Status</th><th>Behavior</th></tr>
+ <tr>
+ <td>Not Installed</td>
+ <td>
+ Install and configure the application server.
+ </td>
+ </tr>
+ <tr>
+ <td>Installed and stopped</td>
+ <td>
+ Re-install/re-configure the application server.
+ </td>
+ </tr>
+ <tr>
+ <td>Installed and started</td>
+ <td>
+ Stop, re-install/re-configure, re-start the application server.
+ </td>
+ </tr>
+ </table>
+ <p><strong>Note:</strong> In all situations, the
<code>maven:appserver-install</code>
+ target will overwrite existing appserver configuration files already
+ installed. Maven does this because it cannot know if the you have changed
+ your <a href="properties.html#Application Server">maven.appserver.* related
properties</a>,
+ so it always re-configures the configuration files. Since this
+ operation has low overhead, it is considered a feature that allows dynamic
+ updates to your appserver related property values.</p>
+ </subsection>
+
+ <subsection name="maven:appserver-start">
+ <p>
+ The <code>maven:appserver-start</code> target
+ attempts to start the application server instance you have specified
+ via properties.
+ </p>
+ <p>Optionally, you can invoke the <code>start</code> target of the
+ Ant build.xml file copied to ${maven.appserver.dir} instead. See the
+ <a href="appserver.html#Appserver Proxy Build File">appserver proxy build
file</a> for more
+ information.
+ </p>
+ <p>
+ This target will cause two processes to run. One process will
+ represent the running of the Ant build file for the Maven target.
+ The other will be the forked JVM that actually starts the application
+ server instance.
+ </p>
+ <p>
+ If you don't want the processes to block your current terminal,
+ you can execute the call to this target in the background using the
+ traditional '&' directive on unix-like systems.
+ </p>
+ <p> For example, to run the server in the background, go to your
+ ${maven.appserver.dir} directory and type:</p>
+ <source><![CDATA[ant start &]]></source>
+ <p>
+ This target has different behavior
+ depending on the current status of the application server. The
+ behavior is defined by the following rules:
+ </p>
+ <table>
+ <tr><th>Server Status</th><th>Behavior</th></tr>
+ <tr>
+ <td>Not Installed</td>
+ <td>
+ Install/configure, then start the application server.
+ </td>
+ </tr>
+ <tr>
+ <td>Installed and stopped</td>
+ <td>
+ Start the application server.
+ </td>
+ </tr>
+ <tr>
+ <td>Installed and started</td>
+ <td>
+ Stop and then re-start the application server. This is useful for
+ application servers that are not set to auto-reload resources.
+ </td>
+ </tr>
+ </table>
+ </subsection>
+
+ <subsection name="maven:appserver-stop">
+ <p>
+ The <code>maven:appserver-stop</code> target
+ attempts to stop the application server instance you have specified
+ via the <a href="properties.html">maven.appserver.* properties</a>.
+ </p>
+ <p>Optionally, you can invoke the <code>stop</code> target of the
+ Ant build.xml file copied to ${maven.appserver.dir} instead. See the
+ <a href="appserver.html#Appserver Proxy Build File">appserver proxy build
file</a> for more
+ information.
+ </p>
+ <p>
+ This target only has relevance if the application server instance
+ is actually started. All other situations do nothing.
+ </p>
+ </subsection>
+
+
+ <subsection name="maven:appserver-clean">
+ <p>
+ The <code>maven:appserver-clean</code> target
+ attempts to safely delete the directory specified by
+ ${maven.appserver.dir}.
+ </p>
+ <p>
+ This target has different behavior
+ depending on the current status of the application server. The
+ behavior is defined by the following rules:
+ </p>
+ <table>
+ <tr><th>Server Status</th><th>Behavior</th></tr>
+ <tr>
+ <td>Installed and stopped</td>
+ <td>
+ Deletes the directory specified by ${maven.appserver.dir}.
+ </td>
+ </tr>
+ <tr>
+ <td>Installed and started</td>
+ <td>
+ Stop the application server instance and then delete the directory
+ specified by ${maven.appserver.dir}.
</td>
</tr>
</table>
1.3 +30 -22 jakarta-turbine-maven/xdocs/plugins/j2ee/futures.xml
Index: futures.xml
===================================================================
RCS file: /home/cvs/jakarta-turbine-maven/xdocs/plugins/j2ee/futures.xml,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- futures.xml 31 May 2002 16:51:19 -0000 1.2
+++ futures.xml 14 Jun 2002 01:33:46 -0000 1.3
@@ -2,31 +2,39 @@
<document>
<properties>
- <author email="[EMAIL PROTECTED]">dIon Gillard</author>
- <title>Futures for the J2EE Plug-in</title>
+ <author email="[EMAIL PROTECTED]">dIon Gillard</author>
+ <title>Futures for the J2EE Plug-in</title>
</properties>
<body>
- <section name="Futures">
- <p>
- The following is a list of things that are being contemplated
- for the Maven J2EE Plug-in.
- </p>
- <ol>
- <li>
- Add back the war lib excludes and includes
- </li>
- <li>
- Add HTML validation.
- </li>
- <li>
- Add EAR validation.
- </li>
- <li>
- Add technology specific validators, e.g. JSP/Turbine/Velocity/Struts
- etc
- </li>
- </ol>
+ <section name="Futures">
+ <p>
+ The following is a list of things that are being contemplated
+ for the Maven J2EE Plug-in.
+ </p>
+ <ol>
+ <li>
+ Add back the war lib excludes and includes
+ </li>
+ <li>
+ Add HTML validation.
+ </li>
+ <li>
+ Add EAR validation.
+ </li>
+ <li>
+ Add technology specific validators, e.g. JSP/Turbine/Velocity/Struts
+ etc
+ </li>
+ <li>
+ Allow integration with a 'webserver' plugin so that application server
+ requests can seamlessly be hooked into the application server.
+ </li>
+ <li>
+ Tie where applicable the appserver instance to other Maven plugins that
+ need an application server instance to do their work.
+ </li>
+ </ol>
</section>
</body>
</document>
1.2 +16 -1 jakarta-turbine-maven/xdocs/plugins/j2ee/index.xml
Index: index.xml
===================================================================
RCS file: /home/cvs/jakarta-turbine-maven/xdocs/plugins/j2ee/index.xml,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- index.xml 30 May 2002 12:55:22 -0000 1.1
+++ index.xml 14 Jun 2002 01:33:46 -0000 1.2
@@ -9,7 +9,7 @@
<body>
<section name="J2EE Reference Documentation">
<p>
- This document provides an overview of the reference section
+ This document provides an overview of the reference section
for the Maven J2EE Plug-in.
The documents presented here are references, if you are looking
for more verbose usage material, please refer to the <a
@@ -40,6 +40,21 @@
here. This is a useful document if you are trying to
determine what a particular component of your directory
hierarchy is used for.
+ </td>
+ </tr>
+ <tr><td><a href="appserver.html">Appserver Notes</a></td>
+ <td>
+ <p>
+ This page contains additional reference material regarding the
application server (
+ appserver ) control features of the Maven J2EE plugin.
+ </p>
+ <p>
+ For additional help in understanding what the appserver features of
the
+ Maven J2EE plugin are, look at the
+ <a href="properties.html#Application Server">J2EE plug-in
properties</a>
+ and <a href="./build-file.html#maven:appserver-install">J2EE build
file</a>
+ documents.
+ </p>
</td>
</tr>
<tr><td><a href="futures.html">Futures</a></td>
1.4 +5 -4 jakarta-turbine-maven/xdocs/plugins/j2ee/navigation.xml
Index: navigation.xml
===================================================================
RCS file: /home/cvs/jakarta-turbine-maven/xdocs/plugins/j2ee/navigation.xml,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- navigation.xml 4 Jun 2002 03:20:52 -0000 1.3
+++ navigation.xml 14 Jun 2002 01:33:46 -0000 1.4
@@ -23,10 +23,11 @@
<item name="Reference" href="/ref/index.html"/>
<item name="Plugins" href="/plugins/index.html">
<item name="J2EE Plugin" href="/plugins/j2ee/index.html">
- <item name="Build File" href="/plugins/j2ee/build-file.html"/>
- <item name="Properties" href="/plugins/j2ee/properties.html"/>
- <item name="Directory Layout" href="/plugins/j2ee/dirlayout.html"/>
- <item name="Futures" href="/plugins/j2ee/futures.html"/>
+ <item name="Build File" href="/plugins/j2ee/build-file.html"/>
+ <item name="Properties" href="/plugins/j2ee/properties.html"/>
+ <item name="Directory Layout" href="/plugins/j2ee/dirlayout.html"/>
+ <item name="Appserver Notes" href="/plugins/j2ee/appserver.html"/>
+ <item name="Futures" href="/plugins/j2ee/futures.html"/>
</item>
<item name="Struts Plugin" href="/plugins/struts/index.html"/>
</item>
1.3 +380 -26 jakarta-turbine-maven/xdocs/plugins/j2ee/properties.xml
Index: properties.xml
===================================================================
RCS file: /home/cvs/jakarta-turbine-maven/xdocs/plugins/j2ee/properties.xml,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- properties.xml 31 May 2002 16:51:19 -0000 1.2
+++ properties.xml 14 Jun 2002 01:33:46 -0000 1.3
@@ -4,6 +4,7 @@
<properties>
<author email="[EMAIL PROTECTED]">dIon Gillard</author>
<author email="[EMAIL PROTECTED]">Kevin O'Neill</author>
+ <author email="[EMAIL PROTECTED]">Peter Lynch</author>
<title>Maven J2EE Plug-in Properties Documentation</title>
</properties>
@@ -14,18 +15,25 @@
default values) used by the Maven J2EE Plug-in <a
href="build-file.html">build file</a>. These properties
control various aspects of the J2EE build. Most of these
- properties are optional and have defaults; however, there are
+ properties are optional and have defaults; however, there are
mandatory properties that must be set as described in this document.
</p>
<p>
- These properties can be overridden to change the default behavior of
+ These properties can be overridden to change the default behavior of
the Maven J2EE Plug-in. If you need to override any of these properties,
please refer to the <a href="../../start/integrate.html">Integration</a>
- document for the preferred method of setting properties in your project.
+ document for the preferred method of setting properties in your project.
</p>
<table>
<tr><th>Section</th><th>Description</th></tr>
<tr>
+ <td><a href="#General Settings">General Settings</a></td>
+ <td>
+ These properties specify various settings that may be used in any
+ J2EE Plug-in target.
+ </td>
+ </tr>
+ <tr>
<td><a href="#War Settings">War</a></td>
<td>
These properties specify various settings that control the build
@@ -47,6 +55,14 @@
</td>
</tr>
<tr>
+ <td><a href="#Application Server">Appserver</a></td>
+ <td>
+ These properties detail what application server instance you would
+ like to install and control for your project and how to configure
+ it.
+ </td>
+ </tr>
+ <tr>
<td><a href="#Callbacks">Callbacks</a></td>
<td>
These properties specify how you can tell the J2EE Plug-in you would
@@ -54,10 +70,37 @@
before or after a war or ear is built.
</td>
</tr>
-
</table>
</section>
+
+ <section name="General Settings" >
+ <table>
+ <tr><th>Property</th><th>Optional?</th><th>Description</th></tr>
+ <tr>
+ <td><a name="maven.j2ee.version">maven.j2ee.version</a></td>
+ <td>
+ No for <br/>
+ <code><a
href="./build-file.html#maven:appserver-install">maven:appserver-*</a></code>
+ targets. Otherwise,<br/>
+ Yes.
+ </td>
+ <td>
+ Specifies the version of J2EE you are trying to use. Valid values are:
+ <ul>
+ <li>12</li>
+ <li>13</li>
+ </ul>
+ The above values represent version 1.2 and 1.3 respectively.
+ The value of this property is especially important for the
+ <a href="appserver.html#Supported Servers">supported servers</a>
+ used with the appserver control features of this plugin.
+ </td>
+ </tr>
+ </table>
+ </section>
+
+
<section name="War Settings">
<table>
<tr><th>Property</th><th>Optional?</th><th>Description</th></tr>
@@ -73,7 +116,7 @@
<td>Yes</td>
<td>
Specifies the directory in the local file system that is
- used as the base directory for finding web applications. It defaults
+ used as the base directory for finding web applications. It defaults
to <code><a href="../properties.html#Directory Layout
Settings">${maven.src.dir}</a>/webapps</code>
</td>
</tr>
@@ -82,7 +125,7 @@
<td>Yes</td>
<td>
Specifies the directory in the local file system that holds
- web content to be placed in the war file. It defaults
+ web content to be placed in the war file. It defaults
to ${maven.j2ee.war.src}/${maven.j2ee.war.name}
</td>
</tr>
@@ -102,8 +145,8 @@
<td>
Specifies the pattern of files in the directory specified by
<code><a href="../properties.html#Directory Layout
Settings">${maven.build.dest}</a></code>
- that are <strong>not</strong> to be included in the
- <code>/WEB-INF/classes</code> of the resulting war file.
+ that are <strong>not</strong> to be included in the
+ <code>/WEB-INF/classes</code> of the resulting war file.
It defaults to <code>**/package.html</code>.
</td>
</tr>
@@ -140,7 +183,7 @@
</tr>
</table>
</section>
-
+
<section name="EJB Settings">
<table>
<tr><th>Property</th><th>Optional?</th><th>Description</th></tr>
@@ -156,7 +199,7 @@
<td>No</td>
<td>
Specifies the directory to be used to find the deployment descriptor
- and other files to be placed in <code>META-INF</code> directory of
+ and other files to be placed in <code>META-INF</code> directory of
the resulting ejb jar. It defaults to
<code><a href="../properties.html#Directory Layout
Settings">${maven.conf.dir}</a>/<a
href="properties.html#maven.j2ee.ejb.name">${maven.j2ee.ejb.name}</a></code>
</td>
@@ -168,8 +211,8 @@
</td>
<td>Yes</td>
<td>
- Specifies the a pattern of files to be included in the
- <code>META-INF</code> directory of the resulting ejb jar, relative
+ Specifies the a pattern of files to be included in the
+ <code>META-INF</code> directory of the resulting ejb jar, relative
to the <code>${maven.j2ee.ejb.conf.dir}</code>. It defaults to
<code>ejb-jar.xml</code>.
</td>
@@ -181,8 +224,8 @@
</td>
<td>Yes</td>
<td>
- Specifies the a pattern of files to be excluded from the
- <code>META-INF</code> directory of the resulting ejb jar, relative
+ Specifies the a pattern of files to be excluded from the
+ <code>META-INF</code> directory of the resulting ejb jar, relative
to the <code>${maven.j2ee.ejb.conf.dir}</code>. It defaults to
blank.
</td>
@@ -191,7 +234,7 @@
<td><a name="maven.j2ee.ejb.includes">maven.j2ee.ejb.includes</a></td>
<td>Yes</td>
<td>
- Specifies the pattern of files in the
+ Specifies the pattern of files in the
<a href="../properties.html#Directory Layout
Settings">${maven.build.dest}</a>
directory to be included in the generated ejb jar. Defaults to
<code>**/*</code>.
</td>
@@ -200,7 +243,7 @@
<td><a name="maven.j2ee.ejb.excludes">maven.j2ee.ejb.includes</a></td>
<td>Yes</td>
<td>
- Specifies the pattern of compiled class files to be
<strong>excluded</strong>
+ Specifies the pattern of compiled class files to be
<strong>excluded</strong>
from the generated ejb jar. Defaults to <code>**/package.html</code>.
</td>
</tr>
@@ -218,7 +261,7 @@
<td><a
name="maven.j2ee.ejb.local.excludes">maven.j2ee.ejb.local.excludes</a></td>
<td>Yes</td>
<td>
- Files to be <strong>excluded</strong> from the
+ Files to be <strong>excluded</strong> from the
<code><a
href="properties.html#maven.j2ee.ejb.name">${maven.j2ee.ejb.name}</a>-local.jar</code>
</td>
</tr>
@@ -236,14 +279,14 @@
<td><a
name="maven.j2ee.ejb.remote.excludes">maven.j2ee.ejb.remote.excludes</a></td>
<td>Yes</td>
<td>
- Files to be <strong>excluded</strong> from the
+ Files to be <strong>excluded</strong> from the
<code><a
href="properties.html#maven.j2ee.ejb.name">${maven.j2ee.ejb.name}</a>-remote.jar</code>
</td>
</tr>
</table>
</section>
-
-
+
+
<section name="Ear Settings">
<table>
<tr><th>Property</th><th>Optional?</th><th>Description</th></tr>
@@ -258,9 +301,9 @@
<td><a name="maven.j2ee.ear.includes">maven.j2ee.ear.includes</a></td>
<td>Yes</td>
<td>
- Specifies the pattern of files in the
+ Specifies the pattern of files in the
<code><a href="../properties.html#Directory Layout
Settings">${maven.build.dir}</a></code>
- directory to be included in the resulting ear file. It defaults to
+ directory to be included in the resulting ear file. It defaults to
<code>*.jar, *.war</code>, that is, all jar and war files.
</td>
</tr>
@@ -268,9 +311,9 @@
<td><a name="maven.j2ee.ear.excludes">maven.j2ee.ear.excludes</a></td>
<td>Yes</td>
<td>
- Specifies the pattern of files in the
+ Specifies the pattern of files in the
<code><a href="../properties.html#Directory Layout
Settings">${maven.build.dir}</a></code>
- directory that are not to be included in the resulting ear file.
+ directory that are not to be included in the resulting ear file.
It defaults to blank, that is, nothing is excluded.
</td>
</tr>
@@ -286,6 +329,152 @@
</table>
</section>
+
+
+
+ <section name="Application Server">
+ <p> Although application server ( appserver ) instance control is part
+ of the J2EE plugin, all appserver related properties begin with
+ the "maven.appserver" prefix. This is indicative of the large scope of
+ functionality within the appserver targets.
+ </p>
+ <table>
+ <tr><th>Property</th><th>Optional?</th><th>Description</th></tr>
+
+ <tr>
+ <td><a name="maven.appserver.name">maven.appserver.name</a></td>
+ <td>No</td>
+ <td>
+ Specifies the name of the application server to install and control
+ for your project.
+ <p />
+ Please refer to the <a href="appserver.html#Supported
Servers">supported servers</a>
+ table for a current list of supported appservers and the
${maven.appserver.name}
+ value they use use.
+ </td>
+ </tr>
+
+ <tr>
+ <td><a name="maven.appserver.version">maven.appserver.version</a></td>
+ <td>No</td>
+ <td>
+ Specifies the version of the appserver to install and control
+ for your project. Please refer to the
+ <a href="appserver.html#Supported Servers">supported servers</a>
+ table for a current list of supported appservers and the
+ ${maven.appserver.version} value they use.
+ </td>
+ </tr>
+
+ <tr>
+ <td><a name="maven.appserver.home">maven.appserver.home</a></td>
+ <td>No</td>
+ <td>
+ Specifies the directory where the shared installation of the appserver
+ resides. This should be the home of the appserver specified by
+ <a href="#maven.appserver.name">${maven.appserver.name}</a>
+ and <a href="#maven.appserver.version">${maven.appserver.version}</a>.
+ </td>
+ </tr>
+
+ <tr>
+ <td><a name="maven.appserver.dir">maven.appserver.dir</a></td>
+ <td>No</td>
+ <td>
+ Specifies the directory where the appserver instance is installed
+ during the <code><a
href="build-file.html#maven:appserver-install">maven:appserver-install</a></code>
target.
+ Defaults to be ${basedir}/server .
+ </td>
+ </tr>
+
+ <tr>
+ <td><a name="maven.appserver.host">maven.appserver.host</a></td>
+ <td>No</td>
+ <td>
+ Specifies the default host to use to access the started server
+ instance. Defaults to 'localhost'.
+ </td>
+ </tr>
+
+ <tr>
+ <td><a name="maven.appserver.port.http">maven.appserver.port.http</a></td>
+ <td>No</td>
+ <td>
+ Specifies the HTTP port number to use to access the started server
+ instance. Defaults to 8080.
+ </td>
+ </tr>
+
+ <tr>
+ <td><a name="maven.appserver.url">maven.appserver.url</a></td>
+ <td>No</td>
+ <td>
+ The URL that is used to test if your appserver instance is running.
+ This URL must point to a target that will return a response code <
400
+ when your appserver instance is started. Default value is
+ http://${maven.appserver.host}:${maven.appserver.port.http}/index.html
+ </td>
+ </tr>
+
+ <tr>
+ <td><a
name="maven.appserver.port.https">maven.appserver.port.https</a></td>
+ <td>Yes</td>
+ <td>
+ Specifies the HTTPS port number to use to access the started server
+ instance using SSL. Defaults to 444.
+ </td>
+ </tr>
+
+ <tr>
+ <td><a name="maven.appserver.port.one">maven.appserver.port.one</a></td>
+ <td>Yes</td>
+ <td>
+ Optional additional port you can specify when configuring appserver
files during
+ install.
+ </td>
+ </tr>
+ <tr>
+ <td><a name="maven.appserver.port.two">maven.appserver.port.two</a></td>
+ <td>Yes</td>
+ <td>
+ Optional additional port you can specify when configuring appserver
files during
+ install.
+ </td>
+ </tr>
+ <tr>
+ <td><a
name="maven.appserver.port.three">maven.appserver.port.three</a></td>
+ <td>Yes</td>
+ <td>
+ Optional additional port you can specify when configuring appserver
files during
+ install.
+ </td>
+ </tr>
+
+ <tr>
+ <td><a name="maven.appserver.classpath">maven.appserver.classpath</a></td>
+ <td>Yes</td>
+ <td>
+ A <a
href="http://jakarta.apache.org/ant/manual/using.html#path">path-like</a>
+ value that can specify resources to make available as
+ part of the classpath of the JVM used when controlling your appserver
instance.
+ For example, you may have several webapps running in the same container
+ that require a JDBC driver be available. Adding a reference to that
+ jar here will put it in the classpath of the JVM used to start
+ your appserver.
+ <p/>
+ An example of a valid value might be:
+ <p/>
+ <code>/jars/database.jar;/jars/foobar.jar</code>
+ <p/>
+ Path seperators are automatically converted to their system correct
values.
+ By default, there are no additional paths. <strong>Jars required to
control an appserver
+ are automatically built-in and do not need to be added here.</strong>
+ </td>
+ </tr>
+ </table>
+ </section>
+
+
<section name="Callbacks">
<table>
<tr><th>Property</th><th>Optional?</th><th>Description</th></tr>
@@ -326,7 +515,7 @@
There is no default for this property.
</td>
</tr>
-
+
<tr>
<td><a name="maven.j2ee.callback.pre-ejb.buildFile">
maven.j2ee.callback.pre-ejb.buildFile</a></td>
@@ -399,12 +588,177 @@
maven.j2ee.callback.post-ear.buildTarget</a></td>
<td>Yes</td>
<td>
- Specifies the target of the postprocess build file to be called after
+ Specifies the target of the post-process build file to be called after
an ear has been built.
There is no default for this property.
</td>
</tr>
+
+
+ <tr>
+ <td><a name="maven.appserver.pre-appserver-install.buildFile">
+ maven.appserver.pre-appserver-install.buildFile</a></td>
+ <td>Yes</td>
+ <td>
+ Specifies the build file to be used when pre-processing an appserver
+ instance install or re-install.
+ There is no default for this property.
+ </td>
+ </tr>
+ <tr>
+ <td><a name="maven.appserver.pre-appserver-install.buildTarget">
+ maven.appserver.pre-appserver-install.buildTarget</a></td>
+ <td>Yes</td>
+ <td>
+ Specifies the target of the pre-process build file to be called
+ before an appserver has been installed or re-installed.
+ There is no default for this property.
+ </td>
+ </tr>
+ <tr>
+ <td><a name="maven.appserver.post-appserver-install.buildFile">
+ maven.appserver.post-appserver-install.buildFile</a></td>
+ <td>Yes</td>
+ <td>
+ Specifies the build file to be used when post-processing an appserver
+ instance install or re-install.
+ There is no default for this property.
+ </td>
+ </tr>
+ <tr>
+ <td><a name="maven.appserver.post-appserver-install.buildTarget">
+ maven.appserver.post-appserver-install.buildTarget</a></td>
+ <td>Yes</td>
+ <td>
+ Specifies the target of the post-process build file to be called
+ after an appserver has been installed or re-installed.
+ There is no default for this property.
+ </td>
+ </tr>
+ <tr>
+ <td><a name="maven.appserver.pre-appserver-start.buildFile">
+ maven.appserver.pre-appserver-start.buildFile</a></td>
+ <td>Yes</td>
+ <td>
+ Specifies the build file to be used when pre-processing an appserver
+ instance start or re-start.
+ There is no default for this property.
+ </td>
+ </tr>
+ <tr>
+ <td><a name="maven.appserver.pre-appserver-start.buildTarget">
+ maven.appserver.pre-appserver-start.buildTarget</a></td>
+ <td>Yes</td>
+ <td>
+ Specifies the target of the pre-process build file to be called
+ before an appserver has been started or re-started.
+ There is no default for this property.
+ </td>
+ </tr>
+ <tr>
+ <td><a name="maven.appserver.post-appserver-start.buildFile">
+ maven.appserver.post-appserver-start.buildFile</a></td>
+ <td>Yes</td>
+ <td>
+ Specifies the build file to be used when post-processing an appserver
+ instance start or re-start.
+ There is no default for this property.
+ </td>
+ </tr>
+ <tr>
+ <td><a name="maven.appserver.post-appserver-start.buildTarget">
+ maven.appserver.post-appserver-start.buildTarget</a></td>
+ <td>Yes</td>
+ <td>
+ Specifies the target of the post-process build file to be called
+ after an appserver has been started or re-started.
+ There is no default for this property.
+ </td>
+ </tr>
+ <tr>
+ <td><a name="maven.appserver.pre-appserver-stop.buildFile">
+ maven.appserver.pre-appserver-stop.buildFile</a></td>
+ <td>Yes</td>
+ <td>
+ Specifies the build file to be used when pre-processing an appserver
+ instance stop.
+ There is no default for this property.
+ </td>
+ </tr>
+ <tr>
+ <td><a name="maven.appserver.pre-appserver-stop.buildTarget">
+ maven.appserver.pre-appserver-stop.buildTarget</a></td>
+ <td>Yes</td>
+ <td>
+ Specifies the target of the pre-process build file to be called
+ before an appserver has been stopped.
+ There is no default for this property.
+ </td>
+ </tr>
+ <tr>
+ <td><a name="maven.appserver.post-appserver-stop.buildFile">
+ maven.appserver.post-appserver-stop.buildFile</a></td>
+ <td>Yes</td>
+ <td>
+ Specifies the build file to be used when post-processing an appserver
+ instance stop.
+ There is no default for this property.
+ </td>
+ </tr>
+ <tr>
+ <td><a name="maven.appserver.post-appserver-stop.buildTarget">
+ maven.appserver.post-appserver-stop.buildTarget</a></td>
+ <td>Yes</td>
+ <td>
+ Specifies the target of the post-process build file to be called
+ after an appserver has been stopped.
+ There is no default for this property.
+ </td>
+ </tr>
+ <tr>
+ <td><a name="maven.appserver.pre-appserver-clean.buildFile">
+ maven.appserver.pre-appserver-clean.buildFile</a></td>
+ <td>Yes</td>
+ <td>
+ Specifies the build file to be used when pre-processing an appserver
+ instance removal from the file system.
+ There is no default for this property.
+ </td>
+ </tr>
+ <tr>
+ <td><a name="maven.appserver.pre-appserver-clean.buildTarget">
+ maven.appserver.pre-appserver-clean.buildTarget</a></td>
+ <td>Yes</td>
+ <td>
+ Specifies the target of the pre-process build file to be called
+ before an appserver has been removed from the file system.
+ There is no default for this property.
+ </td>
+ </tr>
+ <tr>
+ <td><a name="maven.appserver.post-appserver-clean.buildFile">
+ maven.appserver.post-appserver-clean.buildFile</a></td>
+ <td>Yes</td>
+ <td>
+ Specifies the build file to be used when post-processing an appserver
+ instance removal from the file system.
+ There is no default for this property.
+ </td>
+ </tr>
+ <tr>
+ <td><a name="maven.appserver.post-appserver-clean.buildTarget">
+ maven.appserver.post-appserver-clean.buildTarget</a></td>
+ <td>Yes</td>
+ <td>
+ Specifies the target of the post-process build file to be called
+ after an appserver has been removed from the file system.
+ There is no default for this property.
+ </td>
+ </tr>
+
+
</table>
</section>
+
</body>
</document>
1.1 jakarta-turbine-maven/xdocs/plugins/j2ee/appserver.xml
Index: appserver.xml
===================================================================
<?xml version="1.0"?>
<document>
<properties>
<author email="[EMAIL PROTECTED]">Peter Lynch</author>
<title>Maven J2EE Plug-in: Appserver Notes</title>
</properties>
<body>
<section name="Maven J2EE Appserver Control">
<p>
This page offers some general information about the appserver control
features of the J2EE plug-in. Specific details about
<a href="./build-file.html#maven:appserver-install">related targets</a> and
their <a href="./properties.html#Application Server" >properties</a> can be
found elsewhere.
</p>
</section>
<section name="Plug-in Rationale">
<p>
When developing a web application (or website for that matter), each developer
working on the project needs to have an environment to run and test their
application. Rather than store a complete application server install in source
control, it is much more feasible to have a centralized install of that
application server. Then, using only the minimum configuration files the
developer can control a separate isolated instance of the application server
on their machine.
</p>
<p>
The Maven J2EE plug-in appserver features use this technique to install and
control
application server instances for your project needs. The appserver
features <strong>are not</strong> for
deploying webapps or war files into application servers.
</p>
</section>
<section name="Supported Servers">
<p>
The following table shows the various appserver versions that are
supported by the appserver control features of the Maven J2EE plug-in
and what propety values are required to be set in order for the
maven:appserver-* targets to work with those versions.
</p>
<table>
<tr>
<th>Server</th>
<th>${maven.appserver.name}</th>
<th>${maven.appserver.version}</th>
<th>${maven.j2ee.version}</th>
</tr>
<tr>
<td><a href="http://jakarta.apache.org/tomcat">Tomcat 4.x</a></td>
<td><code>tomcat</code></td>
<td><code>40</code></td>
<td><code>12</code> or <code>13</code></td>
</tr>
</table>
<p>The following application servers are expected to be supported soon:</p>
<ul>
<li><a href="http://enhydra.enhydra.org/">Enhydra</a></li>
<li><a href="http://www.orionserver.com/">Orion</a></li>
<li><a href="http://www.caucho.com/products/resin/">Resin</a></li>
<li><a href="http://www.weblogic.com/">Weblogic</a></li>
</ul>
</section>
<section name="Appserver Proxy Build File">
<p>
To make life even easier when using the appserver targets, the Maven J2EE
plug-in includes a proxy build file. This means a file similar to the one
below is copied to the directory specified by
<a href="./properties.html#maven.appserver.dir">${maven.appserver.dir}</a>.
</p>
<table><tr><th>${maven.appserver.dir}/build.xml</th></tr></table>
<source><![CDATA[
<?xml version="1.0"?>
<project name="Maven Application Server Plugin Proxy" default="install"
basedir="@basedir@">
<!-- ================================================================== -->
<!-- Proxy for controlling an installed application server instance -->
<!-- ================================================================== -->
<!-- ========================================================== -->
<!-- Give user a chance to override without editing this file -->
<!-- (and without typing -D each time they compile) -->
<!-- ========================================================== -->
<!-- all ant projects specific properties -->
<property file="${user.home}/build.properties" />
<!-- project/user specific settings -->
<property file="@basedir@/build.properties" />
<!-- anything here is expected to be project defaults -->
<property file="@basedir@/project.properties" />
<!-- ========================================================== -->
<target name="install">
<ant antfile="${maven.home}/plugins/j2ee/build.xml"
target="appserver-install" />
</target>
<target name="start">
<ant antfile="${maven.home}/plugins/j2ee/build.xml"
target="appserver-start" />
</target>
<target name="stop">
<ant antfile="${maven.home}/plugins/j2ee/build.xml"
target="appserver-stop" />
</target>
</project>]]>
</source>
<p>Using this build file, you can run the appserver related targets quickly
from within your ${maven.appserver.dir} directory. Typing simply</p>
<source><![CDATA[ant]]></source>
<p>can stop, re-install, and re-start a started server instance.</p>
</section>
</body>
</document>
--
To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>