blob: f64ac3c0dbe1b36abda68552af8c60bfa7a2c211 [file] [log] [blame]
------
Customizing A Module Location
------
Stephane Nicoll
<snicoll@apache.org>
------
2011-12-23
~~ Copyright 2006 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.
~~ NOTE: For help with the syntax of this file, see:
~~ http://maven.apache.org/doxia/references/apt-format.html
Customizing A Module Location
The example below shows how to place a library in the APP-INF/lib directory of
the EAR file:
+--------
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-ear-plugin</artifactId>
<version>${project.version}</version>
<configuration>
[...]
<modules>
<jarModule>
<groupId>artifactGroupId</groupId>
<artifactId>artifactId</artifactId>
<bundleDir>APP-INF/lib</bundleDir>
</jarModule>
</modules>
</configuration>
</plugin>
</plugins>
</build>
+---------
Note that it is possible to specify a default bundle directory for all libraries.
If a jarModule does not have the bundleDir property above, the default one is used.
Below is an example of such configuration:
+--------
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-ear-plugin</artifactId>
<version>${project.version}</version>
<configuration>
[...]
<defaultLibBundleDir>APP-INF/lib</defaultLibBundleDir>
<modules>
<jarModule>
<groupId>artifactGroupId</groupId>
<artifactId>artifactId</artifactId>
<bundleDir>/</bundleDir>
</jarModule>
</modules>
</configuration>
</plugin>
</plugins>
</build>
+---------
In the above case, jarModules (i.e. libraries) will be placed in the APP-INF/lib directory
except the specified artifact which will be placed at the root of the EAR structure.