Introduction – Apache Maven EAR Plugin Apache/ Maven/ Plugins/ Apache Maven EAR Plugin/ Introduction | Last Published: 2025-06-16 Version: 3.4.0 Overview Introduction Plugin Documentation Usage FAQ License Download Configuration Modules 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 In application.xml Generating jboss-app.xml Customize file name mapping Generating modules ID Using JavaEE application clients Eclipse and Maven Integration Project Documentation Project Information About Summary Maven Coordinates Team Source Code Management Issue Management Mailing Lists Dependency Management Dependencies Dependency Convergence CI Management Plugin Management Plugins Distribution Management Project Reports Maven Projects Maven Archetypes Extensions Parent POMs Plugins Skins Components Archetype Artifact Resolver Doxia Indexer JXR Plugin Testing Plugin Tools Resource Bundles SCM Shared Components Surefire Wagon ASF How Apache Works Foundation Data Privacy Sponsoring Apache Thanks 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.4.0 Require Maven 3.6.3 at least. Support Jakarta EE 11. 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) © 2002–2025 The Apache Software Foundation