Apache Maven Eclipse Plugin (RETIRED)
Note: This plugin is retired. It is no longer maintained.
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 from an eclipse installation to the local repo. This mojo automatically analize the eclipse directory, copy plugins jars to the local maven repo, and generates appropriate poms. This is the official central repository builder for Eclipse plugins, so it has the necessary default values. For customized repositories see eclipse:make-artifacts. 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
eclipse:myeclipse Generates the MyEclipse configuration files. eclipse:myeclipse-clean Deletes the config files used by MyEclipse.
Specific goals to support RAD v6
eclipse:rad Generates the Rad-6 configuration files. eclipse:rad-clean Deletes the config files used by Rad-6.
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:
- Prevent Module References
- Attach Library Sources
- Provide Project Natures and Build Commands
- Adding additional facets
- Load Code Style file
- Configure Checkstyle
- Multi-module projects with WTP
- AJDT projects
- Specifying source path inclusions and exclusions
Trouble Shooting
See Trouble Shooting for more details.