Properties Nathan Coast
PropertyOptional?DescriptionDefault
maven.ear.manifest Yes Location of the manifest file to be used within the ear file. ${maven.src.dir}/application/META-INF/MANIFEST.MF
maven.ear.appxml Yes Location of the application.xml file to be used within the ear file. ${maven.src.dir}/application/META-INF/application.xml
maven.ear.appxml.generate Yes Indicates if application.xml files should be autogenerated false
maven.ear.appxml.version Yes Inserts the doctype header depending on the specified version. Default is 1.3 false
maven.ear.displayname Yes Display name of the application to be used when application.xml file is autogenerated ${pom.id}
maven.ear.resources Yes Directory that resources are copied to during the build ${maven.build.dir}/ear
maven.ear.src Yes Single directory for extra files to include in the EAR ${maven.src.dir}/application
PropertyDescriptionSee
maven.build.dir where the component will be assembled maven.build.dir
maven.final.name The assembled component will be ${maven.build.dir}/${maven.final.name}.ear maven.final.name

You must tell Maven what artifact you want to include in the ear. This operation is type sensitive. Maven can bundle in ear artifacts of following types: jar, war, ejb, rar, sar. Artifacts of other types are ignored. This is achieved by specifying meta-information in the POM, using the following syntax:

groupId ejbArtifactId aversion ejb true ]]>

Those artifact will be also "visible" during generation of application.xml file. In case of war artifacts you can also specify context root which will be set in application.xml file:

groupId warArtifactId aversion war true webapp ]]>

Please note that if a jar is a java client module, you will need to declare it using the ear.module property, rather than ear.bundle:

groupId jarArtifactId aversion jar true ]]>