Maven POM editor

Skip to end of metadata
Go to start of metadata

Maven POM editor provides structured form-based UI for viewing and editing Maven POM (pom.xml).

XML editor

The "pom.xml" tab of Maven POM editor allows to edit Maven POM source and provides syntax highlighting, templates, hyperlinking (Ctlr-Click) and content assist (Ctrl+Space) for Maven artifacts:

It also provides basic content assist for Maven plugin configuration parameters:

Editor templates for parent, property, dependecy, exclusion, repository and plugin elements in POM XML editor can be customized in workspace Maven preferences:

Integrators can contribute additional templates using org.eclipse.ui.editors.templates extension point.

Form-based UI

The form-based POM editor UI provides rich editing and navigation features. Here is a few examples:

  • support of the full POM schema, including Maven profiles
  • hyperlinking between POMs, including dependencies, plugins, parent POM, etc.
  • hyperlinking to dependencies and Maven plugin project pages
  • hyperlinking to xml configuration for Maven plugins from the form
  • viewing effective POM for any Maven pom
  • viewing POMs from local Maven repository, as well as from CVS, SVN and other sources in the IDE

Here is an example of form-based UI for editing project dependencies. The "Dependency Details" section shows information for the entry currently selected in "Dependencies" or "Dependency Management" sections.

Actions on "Dependencies" and "Dependency Management" section toolbars allows to add artifacts using standard Maven repository search UI, to enable showing artifacts groupIds and to enable filtering based on the criteria entered in the Search field on editor toolbar.

Actions on "Dependency Details" section toolbar allow to select artifact using Manve repository search UI and to open artifact's project web page. You can' also use hyperlink from the "Artifact Id" label to navigate to the artifact's POM.

You can also use content assistance (Ctrl+Space) in the "Dependency Details" fields:

Dependency Hierarchy viewer

The Hierarchy viewer is available from one of tabs in the Maven POM editor and it provides interactive list of resolved project dependencies along with hierarchical view of the project dependencies.

The viewer can be also opened using "Maven / Show Dependency Hierarchy" popup menu on entries in "Maven Dependencies" classpath container:

You can exclude artifacts from the project POM using "Exclude Maven Artifact" action from the popup menu:

Dependency Graph

Dependency Graph viewer is available from one of tabs in the Maven POM editor and it provides an interactive graphical representation of project dependency graph.

Both, Dependency Graph and Hierarchy view can be focused on selected dependency scope:

Old form-based UI mockups

pom-editor-overview.png
pom-editor-dependencies.png (after)
pom-editor-repositories.png
pom-editor-build.png
pom-editor-plugins.png (after)
pom-editor-reporting.png
pom-editor-profiles.png
pom-editor-team.png

Labels

m2eclipse m2eclipse Delete
maven maven Delete
eclipse eclipse Delete
Enter labels to add to this page:
Please wait 
Looking for a label? Just start typing.
  1. May 19, 2008

    Jacob Robertson says:

    Everyone has been using xml editors for poms for a long time.  We're quite ...

    Everyone has been using xml editors for poms for a long time.  We're quite comfortable looking at the XML, and it gives us the ability to take in a lot of information at one time.  I would like to make some of the following points in terms of feedback on POM editor proposals.

    • For each tab ask "How is this better than xml?"  Or more specifically "In what ways is this worse than xml?"
    • For example, in some of the uploaded png files, it doesn't make it clear whether the list of dependencies/plugins on the left would include group/artifact/version/etc.  A very common activity is to quickly look over your list of dependencies/plugins for various reasons - and you don't just want the name, you want a more information at a glance.  I'm concerned that the graphical editor would require more clicks than just going to the source.  If you had to do this by going to the source each time, then developers might just get used to viewing/editing in the source view.
    • Personally, I add a lot of comments to my poms, especially parent poms.  Things like "this dependency is here because of..." or "this standard report can be disabled by...".  If I could view and edit comments in strategic places from within the pom editor tabs, it would make me more likely to use the GUI instead of just sticking with the xml source.
  2. May 21, 2008

    Eugene Kuleshov says:

    Jacob, first of all, form-based editor gives better overview and provides struct...

    Jacob, first of all, form-based editor gives better overview and provides structured navigation to pom elements. This may not be critical for Maven experts, but should definitely help to the newbies.

    Naturally we will make artifact identity visible in the list, but it isn't primary objective of the graphical editor to save on clicks (but we will try). However it most likely help to save on typing all the xml elements.

    The problem with comments is that they aren't really part of the document structure, so we would have to make some assumptions about comments location, but it is an interesting idea that may be worth exploring once we get the regular model working.

  3. Nov 18, 2008

    acidelic says:

    What are the requirements for using the POM editor in Eclipse? I am unable to in...

    What are the requirements for using the POM editor in Eclipse? I am unable to install it in Rational Software Architect V7.5 due to missing dependencies. For example:

     
    Unsatisfied dependency: [org.maven.ide.eclipse.editor.feature.feature.group 0.9.7.200810211352] requiredCapability: org.eclipse.equinox.p2.iu/org.eclipse.zest.core/[1.0.0.v20080115,1.0.0.v20080115]
    

    There are 48 such messages that are displayed when trying to install the POM editor.

    I assume that we have to install Equinox or Equinox Provisioning, but which components and which versions are required?

  4. Nov 22, 2008

    Eugene Kuleshov says:

    Shaun, it is better to use project mailing lists for such questions.

    Shaun, it is better to use project mailing lists for such questions.