Apache Maven EAR Plugin
This plugin generates Java EE Enterprise Archive (EAR) file. It can also generate the deployment descriptor file (e.g. application.xml
).
The EAR plugin supports the following artifacts:
- ejb
- war
- jar
- ejb-client
- rar
- ejb3
- par
- sar
- wsr
- har
- app-client
For available configuration options for these artifacts, please see the modules configuration.
For more information please visit Jakarta EE Java EE at a glance.
Version 3.3.0
- Require Java 8 and Maven 3.2.5 at least.
- Support Jakarta EE 9 and 10.
- Use ZipFileSystem during EAR packaging - whole modules re-packaging is not needed.
Version 3.2.0
skinnyModules parameter, libDirectory
property of EAR modules, type
property of EAR modules and classPathItem
property of EAR modules have been implemented.
Version 3.0.0
Starting with version 3.0.0 the usage of fileNameMapping has been removed. If you need to use a kind of file name mapping take a look at the new outputFileNameMapping which is more flexible.
Goals Overview
EAR Plugin has two goals:
- ear:ear generates J2EE Enterprise Archive (EAR) files.
- ear:generate-application-xml generates the deployment descriptor file(s).
Usage
General instructions on how to use the EAR Plugin can be found on the usage page. Some more specific use cases are described in the examples given below. Further real-life examples are given in the plugin's test suite.
In case you still have questions regarding the plugin's usage, please have a look at the FAQ and feel free to contact the user mailing list. The posts to the mailing list are archived and could already contain the answer to your question as part of an older thread. Hence, it is also worth browsing/searching the mail archive.
If you feel like the plugin is missing a feature or has a defect, you can fill a feature request or bug report in our issue tracker. When creating a new issue, please provide a comprehensive description of your concern. Especially for fixing bugs it is crucial that the developers can reproduce your problem. For this reason, entire debug logs, POMs or most preferably little demo projects attached to the issue are very much appreciated. Of course, patches are welcome, too. Contributors can check out the project from our source repository and will find supplementary information in the guide to helping with Maven.
Examples
To provide you with better understanding on some usages of the EAR Plugin, you can take a look into the following examples:
- Filtering EAR Resources
- Advanced Filtering Techniques
- Creating Skinny WARs
- Creating Skinny Modules
- Customizing A Module Filename
- Customizing The Context Root
- Customizing A Module Location
- Customizing A Module URI
- Excluding A Module
- Excluding Files From the EAR
- Unpacking A Module
- Including A Third Party Library In application.xml
- Specifying Security Roles For The Generated application.xml
- Specifying Environment Entries For The Generated application.xml
- Specifying Resource Ref Entries For The Generated application.xml
- Generating the jboss-app.xml file
- Generating modules id
- Using JavaEE application clients
- Eclipse and Maven integration (without m2e)