wcm.io DevOps Eclipse Maven Plugin

About this Fork

This is a fork of the original Maven Eclipse Plugin which was retired end of 2015 in favor of the m2e Eclipse integration.

In our wcm.io and other Maven-based projects we usually use both m2e Integration and the Eclipse Maven Plugin. The Eclipse Maven Plugin is used to generate project-specific eclipse settings files and further files for Checkstyle, Findbugs and PMD based on a global build tools artifact defined a parent POM like `io.wcm.maven:io.wcm.maven.global-parent`, see Global Parent documentation for details.

So we maintain a fork of the original plugin here and publish it under Apache 2.0 license within the wcm.io DevOps project.

Changes since the original Maven Eclipse Plugin 2.10.

Plugin Overview

The Maven Eclipse Plugin is used to generate Eclipse IDE files (*.classpath, *.project, *.wtpmodules and the .settings folder) for use with a project.

Disclaimer: Users are advised to use m2e, the Eclipse Maven Integration instead of this plugin, as it can more closely resemble the actual build and runtime classpaths as described in the project pom.xml - among other advantages. However, there are project setups and workflows that still work more efficiently with statically generated Eclipse metadata - for example when there is a large number of projects in a reactor. That's where the Maven Eclipse Plugin can still help you.

Goals Overview

The Maven Eclipse Plugin has several goals.

Standard eclipse goals

  • eclipse:configure-workspace is used to add the classpath variable M2_REPO to Eclipse which points to your local repository and optional to configure other workspace features.
  • eclipse:eclipse generates the Eclipse configuration files.
  • eclipse:resolve-workspace-dependencies is used to download all missing M2_REPO classpath variable elements for all projects in a workspace. Used if the Eclipse project configuration files are committed to version control and other users need to resolve new artifacts after an update.
  • eclipse:clean is used to delete the files used by the Eclipse IDE.

Specific goals

Specific goals for PDE developments
  • eclipse:to-maven Add Eclipse artifacts an Eclipse installation or a local P2 repo to the local Maven repo. This mojo automatically analyzes the local P2 repo, copies jars from the plugins directory to the local maven repo, and generates appropriate poms.
  • eclipse:install-plugins installs all resolved project dependencies of a particular type (usually 'eclipse-plugin') into the specified Eclipse installation directory.
  • eclipse:make-artifacts copies all Eclipse plugins from an installation directory to the local repository, generating POMs for each.
Specific goals to support myeclipse
Specific goals to support RAD v6

Usage

General instructions on how to use the Eclipse Plugin can be found on the usage page. Some more specific use cases are described in the examples given below. Last but not least, users occasionally contribute additional examples, tips or errata to the plugin's wiki page.

In case you still have questions regarding the plugin's usage, please have a look at the FAQ and feel free to contact the user mailing list. The posts to the mailing list are archived and could already contain the answer to your question as part of an older thread. Hence, it is also worth browsing/searching the mail archive.

If you feel like the plugin is missing a feature or has a defect, you can fill a feature request or bug report in our issue tracker. When creating a new issue, please provide a comprehensive description of your concern. Especially for fixing bugs it is crucial that the developers can reproduce your problem. For this reason, entire debug logs, POMs or most preferably little demo projects attached to the issue are very much appreciated. Of course, patches are welcome, too. Contributors can check out the project from our source repository and will find supplementary information in the guide to helping with Maven.

Examples

To provide you with better understanding on some usages of the Eclipse Plugin, you can take a look into the following examples:

Trouble Shooting

See Trouble Shooting for more details.

Back to top

Version: 3.2.1-SNAPSHOT. Last Published: 2024-03-06.