You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@maven.apache.org by "Chris Graham (JIRA)" <ji...@codehaus.org> on 2008/07/02 07:02:27 UTC

[jira] Created: (MEAR-88) Improve documentation on combining Eclipse and Maven Integration

Improve documentation on combining Eclipse and Maven Integration
----------------------------------------------------------------

                 Key: MEAR-88
                 URL: http://jira.codehaus.org/browse/MEAR-88
             Project: Maven 2.x Ear Plugin
          Issue Type: Improvement
            Reporter: Chris Graham
            Priority: Trivial


This could be implemented as another example.

Eclipse and Maven Integration

If you have used mvn eclipse:eclipse to generate the metadata for an EAR project, it will want the application.xml file in the src\main\application\META-INF directory. 

If you edit application.xml using the WTP based Application Deployment Descriptor editor, it will use the name of the projects (Web, EJB etc) as the name of the modules. Here is an example:

<?xml version="1.0" encoding="UTF-8"?>
<application xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/application_1_4.xsd" version="1.4">
  <display-name>FireDragon</display-name>
  <module>
    <web>
      <web-uri>FireDragonWeb.war</web-uri>
      <context-root>firedragon</context-root>
    </web>
  </module>
</application>

Obviously this does not have the typical maven based version naming convention applied to it. This allows us to run the application internally within eclipse/rsa using the test environments.

However, when maven is used to create the ear using mvn package, it will create the versionised application.xml file, if told to. However, by default it will not pick up the generated (versionized) one, it will use the existing one in the src\main\application\META-INF directory.

The solution to resolve this conflict is to have maven generate the application.xml and use the generated one as opposed to the existing one.

This can be achieved via these two directives:

<generateApplicationXml>true</generateApplicationXml>
<applicationXml>${project.build.directory}/application.xml</applicationXml>

The first line tells maven to generate a new application.xml file, by default in the target directory.
The second line tells maven to use it.

Simple!

-Chris



-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://jira.codehaus.org/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira