Maven 2 & 3
  1. Maven 2 & 3
  2. MNG-2026

Document how parent-child POM relationships, <modules/>, and <parent><relativePath/> works

    Details

    • Complexity:
      Intermediate
    • Number of attachments :
      0

      Description

      Create a document that will describe how POMs can be related to one another in a multimodule build. Specifically, document:

      • The parent-child relationship - how is this manifest in the POMs
      • How does the <modules/> section work
      • How does the <relativePath/> element of the <parent/> section work...and what is required in the <parent/> section?
      • How to install ONLY the parent POM for a multimodule setup (mvn -N pom.xml at the top level)
      • How to build an entire multimodule setup from one command (tie all of this together into a working example)

      Related to this, but in another document, should be a list of things that are inherited (could be a link to somewhere else, if this documentation exists in other places). Also, the algorithm used to merge inherited and local POM sections should be in this other document.

        Issue Links

          Activity

          John Casey made changes -
          Field Original Value New Value
          Fix Version/s documentation [ 12291 ]
          Vincent Massol made changes -
          Workflow Maven [ 46836 ] Maven New [ 48154 ]
          Allan Ramirez made changes -
          Assignee Allan Ramirez [ aramirez ]
          Allan Ramirez made changes -
          Assignee Allan Ramirez [ aramirez ]
          John Casey made changes -
          Fix Version/s documentation [ 12291 ]
          Fix Version/s 2.0.5 [ 12294 ]
          Kenney Westerhof made changes -
          Fix Version/s 2.0.5 [ 12294 ]
          Fix Version/s 2.0.6 [ 13010 ]
          Dennis Lundberg made changes -
          Link This issue is related to MNG-1141 [ MNG-1141 ]
          Jason van Zyl made changes -
          Fix Version/s 2.0.6 [ 13010 ]
          Jason van Zyl made changes -
          Fix Version/s Documentation [ 13554 ]
          Stan Devitt made changes -
          Link This issue depends upon MNG-4687 [ MNG-4687 ]
          Hide
          Stan Devitt added a comment -

          1. Parents capture shared configurations. This role should not be confused with aggregation.
          2. In the absence of <relativePath/> it is not safe to assume the pom in the parent directory is the parent pom. It might be an aggregation pom.
          3. It is very useful to gain access to the parent solely through the repository.

          Show
          Stan Devitt added a comment - 1. Parents capture shared configurations. This role should not be confused with aggregation. 2. In the absence of <relativePath/> it is not safe to assume the pom in the parent directory is the parent pom. It might be an aggregation pom. 3. It is very useful to gain access to the parent solely through the repository.
          Hide
          Jason van Zyl added a comment -

          All these issues have been sitting around for years. If someone wants to actually follow up with them they can reopen.

          Show
          Jason van Zyl added a comment - All these issues have been sitting around for years. If someone wants to actually follow up with them they can reopen.
          Jason van Zyl made changes -
          Resolution Incomplete [ 4 ]
          Status Open [ 1 ] Closed [ 6 ]

            People

            • Assignee:
              Unassigned
              Reporter:
              John Casey
            • Votes:
              4 Vote for this issue
              Watchers:
              5 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: