I worked it out. I was being an idiot as usual. User error. Strangely it was producing the EAR file pretty much correctly, even though my plugin wasn't configured properly.
I replaced... <groupId>maven-ear-plugin</groupId> <artifactId>maven-ear-plugin</artifactId> with... <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-ear-plugin</artifactId> Then changed... <includeLibInApplicationXml>true</includeLibInApplicationXml> to... <includeInApplicationXml>true</includeInApplicationXml> Suddenly it did what I asked. Clever that. -----Original Message----- From: Stuart Stephen [mailto:stuart.step...@tracegroup.com] Sent: 23 August 2012 16:01 To: users@maven.apache.org Subject: maven-ear-plugin is not including jarModule into application.xml Hi, [This question is also on StackOverflow: http://stackoverflow.com/questions/12093346/maven-ear-plugin-is-not-including-jarmodule-into-application-xml] I've been following the example on the maven-ear-plugin site that [shows how to add third-party libraries to the generated application.xml][1]. However, it does not appear to be working as I expected. Similarly the web module [contextRoot][2] is being ignored. According to the [documentation][3] what I am trying to do should be entirely possible. The context root of a Web module might be customized using the contextRoot parameter. Please note that third party libraries (i.e. JarModule) are not included in the generated application.xml (only ejb-client should be included in a java entry). However, a jar dependency could be included in the generated application.xml by specifying the includeInApplicationXml flag. I have the following output when it executes the build in my application.xml. <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE application PUBLIC "-//Sun Microsystems, Inc.//DTD J2EE Application 1.3//EN" "http://java.sun.com/dtd/application_1_3.dtd"> <application> <display-name>MyApp.EAR</display-name> <module> <ejb>MyApp.jar</ejb> </module> <module> <web> <web-uri>MyApp.war</web-uri> <context-root>/MyApp.Web</context-root> </web> </module> </application> >From the following maven configuraton (pom.xml). ... <modelVersion>4.0.0</modelVersion> <groupId>com.blah</groupId> <artifactId>MyApp.EAR</artifactId> <version>1.0</version> <packaging>ear</packaging> <build> <plugins> <plugin> <groupId>maven-ear-plugin</groupId> <artifactId>maven-ear-plugin</artifactId> <version>2.7</version> <configuration> <applicationName>MyApp</applicationName> <modules> <ejbModule> <groupId>com.blah</groupId> <artifactId>MyApp.EJB</artifactId> </ejbModule> <webModule> <groupId>com.blah</groupId> <artifactId>MyApp.Web</artifactId> <contextRoot>MyApp</contextRoot> </webModule> <jarModule> <groupId>org.slf4j</groupId> <artifactId>slf4j-simple</artifactId> <includeLibInApplicationXml>true</includeLibInApplicationXml> </jarModule> </modules> <archive> <manifestEntries> <WebLogic-Application-Version>${weblogic.version}</WebLogic-Application-Version> </manifestEntries> </archive> </configuration> </plugin> </plugins> </build> <dependencies> <!-- web and ejb modules --> <dependency> <groupId>com.blah</groupId> <artifactId>MyApp.EJB</artifactId> <version>1.0</version> <type>ejb</type> </dependency> <dependency> <groupId>com.blah</groupId> <artifactId>MyApp.Web</artifactId> <version>1.0</version> <type>war</type> </dependency> </dependencies> ... It is immediately obvious that the application.xml is not being generated as I intended. 1. The contextRoot supplied is not correct in the application.xml, instead the default name of MyApp.Web is output instead of the specified MyApp. 2. The org.slf4j jarModule specified is missing entirely from the application.xml. What am I doing wrong? Debug from Maven is shown below. [DEBUG] ----------------------------------------------------------------------- [DEBUG] Goal: org.apache.maven.plugins:maven-ear-plugin:2.4.2:generate-application-xml (default-generate-application-xml) [DEBUG] Style: Regular [DEBUG] Configuration: <?xml version="1.0" encoding="UTF-8"?> <configuration> <description>${project.description}</description> <displayName>${project.artifactId}</displayName> <encoding default-value="UTF-8"/> <generatedDescriptorLocation>${project.build.directory}</generatedDescriptorLocation> <includeLibInApplicationXml default-value="false"/> <project>${project}</project> <version default-value="1.3"/> <workDirectory>${project.build.directory}/${project.build.finalName}</workDirectory> </configuration> [1]: http://maven.apache.org/plugins/maven-ear-plugin/examples/including-a-third-party-library-in-application-xml.html [2]: http://maven.apache.org/plugins/maven-ear-plugin/modules.html#webModule [3]: http://maven.apache.org/plugins/maven-ear-plugin/usage.html#Advanced_ConfigurationDisclaimer: The contents of this E-mail plus any attachment is intended for the use of the addressee only and is confidential, proprietary and may be privileged. It will not be binding upon Trace Group or any group company (Trace). Opinions, conclusions, contractual obligations and other information in this message in so far as they relate to the official business of Trace must be specifically confirmed in writing by Trace. If you are not the intended recipient you must not copy this message or attachment, use or disclose the contents to any other person, but are requested to telephone or E-mail the sender and delete the message and any attachment from your system. Trace takes all reasonable precautions to ensure that no virus or defect is transmitted via this e mail, however Trace accepts no responsibility for any virus or defect that might arise from opening this E-mail or attachments. --------------------------------------------------------------------- To unsubscribe, e-mail: users-unsubscr...@maven.apache.org For additional commands, e-mail: users-help@maven.apache.orgDisclaimer: The contents of this E-mail plus any attachment is intended for the use of the addressee only and is confidential, proprietary and may be privileged. It will not be binding upon Trace Group or any group company (Trace). Opinions, conclusions, contractual obligations and other information in this message in so far as they relate to the official business of Trace must be specifically confirmed in writing by Trace. If you are not the intended recipient you must not copy this message or attachment, use or disclose the contents to any other person, but are requested to telephone or E-mail the sender and delete the message and any attachment from your system. Trace takes all reasonable precautions to ensure that no virus or defect is transmitted via this e mail, however Trace accepts no responsibility for any virus or defect that might arise from opening this E-mail or attachments. --------------------------------------------------------------------- To unsubscribe, e-mail: users-unsubscr...@maven.apache.org For additional commands, e-mail: users-h...@maven.apache.org