eclipse:eclipse

Full name:

org.apache.maven.plugins:maven-eclipse-plugin:2.6:eclipse

Description:

Generates the following eclipse configuration files:
  • .project and .classpath files
  • .setting/org.eclipse.jdt.core.prefs with project specific compiler settings
  • various configuration files for WTP (Web Tools Project), if the parameter wtpversion is set to a valid version (WTP configuration is not generated by default)
If this goal is run on a multiproject root, dependencies between modules will be configured as direct project dependencies in Eclipse (unless useProjectReferences is set to false).

Attributes:

  • Requires a Maven 2.0 project to be executed.
  • Invokes the execution of the lifecycle phase generate-resources prior to executing itself.

Required Parameters

Name Type Since Description
buildOutputDirectory File - The default output directory
Default value is: ${project.build.outputDirectory}.
useProjectReferences boolean - When set to false, the plugin will not create sub-projects and instead reference those sub-projects using the installed package in the local repository
Default value is: true.

Optional Parameters

Name Type Since Description
addGroupIdToProjectName boolean - If set to true, the groupId of the artifact is appended to the name of the generated Eclipse project. See projectNameTemplate for other options.
Default value is: false.
addVersionToProjectName boolean - If set to true, the version number of the artifact is appended to the name of the generated Eclipse project. See projectNameTemplate for other options.
Default value is: false.
additionalBuildcommands List - List of eclipse build commands to be added to the default ones. Old style:
<additionalBuildcommands>
<buildcommand>org.springframework.ide.eclipse.core.springbuilder</buildcommand>
</additionalBuildcommands>
New style:
<additionalBuildcommands>
<buildCommand>
<name>org.ui.externaltools.ExternalToolBuilder</name>
<triggers>auto,full,incremental,</triggers>
<arguments>
<LaunchConfigHandle>&lt;project&gt;./externalToolBuilders/MavenBuilder.launch</LaunchConfighandle>
</arguments>
</buildCommand>
</additionalBuildcommands>
Note the difference between buildcommand and buildCommand. You can mix and match old and new-style configuration entries.
additionalConfig EclipseConfigFile[] - Allow to configure additional generic configuration files for eclipse that will be written out to disk when running eclipse:eclipse. FOr each file you can specify the name and the text content.
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-eclipse-plugin</artifactId>
<configuration>
<additionalConfig>
<file>
<name>.checkstyle</name>
<content>
<![CDATA[<fileset-config file-format-version="1.2.0" simple-config="true">
<fileset name="all" enabled="true" check-config-name="acme corporate style" local="false">
<file-match-pattern match-pattern="." include-pattern="true"/>
</fileset>
<filter name="NonSrcDirs" enabled="true"/>
</fileset-config>]]>
</content>
</file>
</additionalConfig>
</configuration>
</plugin>
Instead of the content you can also define (from version 2.5) an url to download the file :
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-eclipse-plugin</artifactId>
<configuration>
<additionalConfig>
<file>
<name>.checkstyle</name>
<url>http://some.place.org/path/to/file</url>
</file>
</additionalConfig>
</configuration>
or a location :
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-eclipse-plugin</artifactId>
<configuration>
<additionalConfig>
<file>
<name>.checkstyle</name>
<location>/checkstyle-config.xml</location>
</file>
</additionalConfig>
</configuration>
<dependencies>
<!-- The file defined in the location is stored in this dependency -->
<dependency>
<groupId>eclipsetest</groupId>
<artifactId>checkstyle-config</artifactId>
<version>1.0</version>
</dependency>
</dependencies>
</plugin>

additionalProjectFacets Map - List of eclipse project facets to be added to the default ones.
<additionalProjectFacets>
<jst.jsf>1.1<jst.jsf/>
</additionalProjectFacets>

additionalProjectnatures List - List of eclipse project natures to be added to the default ones.
<additionalProjectnatures>
<projectnature>org.springframework.ide.eclipse.core.springnature</projectnature>
</additionalProjectnatures>

ajdtVersion String - The version of AJDT for which configuration files will be generated. The default value is "1.5", supported versions are "none", "1.4", and "1.5".
Default value is: 1.5.
buildcommands List - List of eclipse build commands. By default the org.eclipse.jdt.core.javabuilder builder plus the needed WTP builders are added. If you specify any configuration for this parameter, only those buildcommands specified will be used; the defaults won't be added. Use the additionalBuildCommands parameter for that. Configuration example: Old style:
<buildcommands>
<buildcommand>org.eclipse.wst.common.modulecore.ComponentStructuralBuilder</buildcommand>
<buildcommand>org.eclipse.jdt.core.javabuilder</buildcommand>
<buildcommand>org.eclipse.wst.common.modulecore.ComponentStructuralBuilderDependencyResolver</buildcommand>
</buildcommands>
For new style, see additionalBuildCommands.
classpathContainers List - List of container classpath entries. By default the org.eclipse.jdt.launching.JRE_CONTAINER classpath container is added. Configuration example:
<classpathContainers>
<classpathContainer>org.eclipse.jdt.launching.JRE_CONTAINER</classpathContainer>
<classpathContainer>org.eclipse.jst.server.core.container/org.eclipse.jst.server.tomcat.runtimeTarget/Apache Tomcat v5.5</classpathContainer>
<classpathContainer>org.eclipse.jst.j2ee.internal.web.container/artifact</classpathContainer>
</classpathContainers>

downloadJavadocs boolean - Enables/disables the downloading of javadoc attachments. Defaults to false. When this flag is true remote repositories are checked for javadocs: in order to avoid repeated check for unavailable javadoc archives, a status cache is mantained. To reset this cache run mvn eclipse:remove-cache, or use the forceRecheck option.
downloadSources boolean - Enables/disables the downloading of source attachments. Defaults to false. When this flag is true remote repositories are checked for sources: in order to avoid repeated check for unavailable source archives, a status cache is mantained. To reset this cache run mvn eclipse:remove-cache, or use the forceRecheck option.
eclipseDownloadSources boolean - Deprecated. {0}. use downloadSources
eclipseProjectDir File - Eclipse workspace directory.
excludes List 2.5 List of artifact to exclude from eclipse classpath, beeing provided by some eclipse classPathContainer [MECLIPSE-79]
forceRecheck boolean - Enables/disables the rechecking of the remote repository for downloading source/javadoc attachments. Defaults to false. When this flag is true and the source or javadoc attachment has a status cache to indicate that it is not available, then the remote repository will be rechecked for a source or javadoc attachment and the status cache updated to reflect the new state.
limitProjectReferencesToWorkspace boolean - Limit the use of project references to the current workspace. No project references will be created to projects in the reactor when they are not available in the workspace.
Default value is: false.
manifest File - The relative path of the manifest file
Default value is: ${basedir}/META-INF/MANIFEST.MF.
packaging String - The project packaging.
pde boolean - Is it an PDE project? If yes, the plugin adds the necessary natures and build commands to the .project file. Additionally it copies all libraries to a project local directory and references them instead of referencing the files in the local Maven repository. It also ensured that the "Bundle-Classpath" in META-INF/MANIFEST.MF is synchronized.
Default value is: false.
projectNameTemplate String - Allows configuring the name of the eclipse projects. This property if set wins over addVersionToProjectName and addGroupIdToProjectName You can use [groupId], [artifactId] and [version] variables. eg. [groupId].[artifactId]-[version]
projectnatures List - List of eclipse project natures. By default the org.eclipse.jdt.core.javanature nature plus the needed WTP natures are added. Natures added using this property replace the default list.
<projectnatures>
<projectnature>org.eclipse.jdt.core.javanature</projectnature>
<projectnature>org.eclipse.wst.common.modulecore.ModuleCoreNature</projectnature>
</projectnatures>

skip boolean - Skip the operation when true.
Default value is: false.
workspace File 2.5 This eclipse workspace is read and all artifacts detected there will be connected as eclipse projects and will not be linked to the jars in the local repository. Requirement is that it was created with the similar wtp settings as the reactor projects, but the project name template my differ. The pom's in the workspace projects may not contain variables in the artefactId, groupId and version tags. If workspace is not defined, then an attempt to locate it by checking up the directory hierarchy will be made.
wtpContextName String - JEE context name of the WTP module. ( ex. WEB context name ).
wtpapplicationxml boolean - Must the application files be written for ear projects in a separate directory.
Default value is: false.
wtpdefaultserver String - What WTP defined server to use for deployment informations.
wtpmanifest boolean - Must the manifest files be written for java projects so that that the jee classpath for wtp is correct.
Default value is: false.
wtpversion String - The version of WTP for which configuration files will be generated. The default value is "none" (don't generate WTP configuration), supported versions are "R7", "1.0", and "1.5"
Default value is: none.

Parameter Details

addGroupIdToProjectName:

If set to true, the groupId of the artifact is appended to the name of the generated Eclipse project. See projectNameTemplate for other options.
  • Type: boolean
  • Required: No
  • Expression: ${eclipse.addGroupIdToProjectName}
  • Default: false

addVersionToProjectName:

If set to true, the version number of the artifact is appended to the name of the generated Eclipse project. See projectNameTemplate for other options.
  • Type: boolean
  • Required: No
  • Expression: ${eclipse.addVersionToProjectName}
  • Default: false

additionalBuildcommands:

List of eclipse build commands to be added to the default ones. Old style:
<additionalBuildcommands>
<buildcommand>org.springframework.ide.eclipse.core.springbuilder</buildcommand>
</additionalBuildcommands>
New style:
<additionalBuildcommands>
<buildCommand>
<name>org.ui.externaltools.ExternalToolBuilder</name>
<triggers>auto,full,incremental,</triggers>
<arguments>
<LaunchConfigHandle>&lt;project&gt;./externalToolBuilders/MavenBuilder.launch</LaunchConfighandle>
</arguments>
</buildCommand>
</additionalBuildcommands>
Note the difference between buildcommand and buildCommand. You can mix and match old and new-style configuration entries.
  • Type: java.util.List
  • Required: No

additionalConfig:

Allow to configure additional generic configuration files for eclipse that will be written out to disk when running eclipse:eclipse. FOr each file you can specify the name and the text content.
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-eclipse-plugin</artifactId>
<configuration>
<additionalConfig>
<file>
<name>.checkstyle</name>
<content>
<![CDATA[<fileset-config file-format-version="1.2.0" simple-config="true">
<fileset name="all" enabled="true" check-config-name="acme corporate style" local="false">
<file-match-pattern match-pattern="." include-pattern="true"/>
</fileset>
<filter name="NonSrcDirs" enabled="true"/>
</fileset-config>]]>
</content>
</file>
</additionalConfig>
</configuration>
</plugin>
Instead of the content you can also define (from version 2.5) an url to download the file :
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-eclipse-plugin</artifactId>
<configuration>
<additionalConfig>
<file>
<name>.checkstyle</name>
<url>http://some.place.org/path/to/file</url>
</file>
</additionalConfig>
</configuration>
or a location :
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-eclipse-plugin</artifactId>
<configuration>
<additionalConfig>
<file>
<name>.checkstyle</name>
<location>/checkstyle-config.xml</location>
</file>
</additionalConfig>
</configuration>
<dependencies>
<!-- The file defined in the location is stored in this dependency -->
<dependency>
<groupId>eclipsetest</groupId>
<artifactId>checkstyle-config</artifactId>
<version>1.0</version>
</dependency>
</dependencies>
</plugin>
  • Type: org.apache.maven.plugin.eclipse.EclipseConfigFile[]
  • Required: No

additionalProjectFacets:

List of eclipse project facets to be added to the default ones.
<additionalProjectFacets>
<jst.jsf>1.1<jst.jsf/>
</additionalProjectFacets>
  • Type: java.util.Map
  • Required: No

additionalProjectnatures:

List of eclipse project natures to be added to the default ones.
<additionalProjectnatures>
<projectnature>org.springframework.ide.eclipse.core.springnature</projectnature>
</additionalProjectnatures>
  • Type: java.util.List
  • Required: No

ajdtVersion:

The version of AJDT for which configuration files will be generated. The default value is "1.5", supported versions are "none", "1.4", and "1.5".
  • Type: java.lang.String
  • Required: No
  • Expression: ${eclipse.ajdtVersion}
  • Default: 1.5

buildOutputDirectory:

The default output directory
  • Type: java.io.File
  • Required: Yes
  • Expression: ${outputDirectory}
  • Default: ${project.build.outputDirectory}

buildcommands:

List of eclipse build commands. By default the org.eclipse.jdt.core.javabuilder builder plus the needed WTP builders are added. If you specify any configuration for this parameter, only those buildcommands specified will be used; the defaults won't be added. Use the additionalBuildCommands parameter for that. Configuration example: Old style:
<buildcommands>
<buildcommand>org.eclipse.wst.common.modulecore.ComponentStructuralBuilder</buildcommand>
<buildcommand>org.eclipse.jdt.core.javabuilder</buildcommand>
<buildcommand>org.eclipse.wst.common.modulecore.ComponentStructuralBuilderDependencyResolver</buildcommand>
</buildcommands>
For new style, see additionalBuildCommands.
  • Type: java.util.List
  • Required: No

classpathContainers:

List of container classpath entries. By default the org.eclipse.jdt.launching.JRE_CONTAINER classpath container is added. Configuration example:
<classpathContainers>
<classpathContainer>org.eclipse.jdt.launching.JRE_CONTAINER</classpathContainer>
<classpathContainer>org.eclipse.jst.server.core.container/org.eclipse.jst.server.tomcat.runtimeTarget/Apache Tomcat v5.5</classpathContainer>
<classpathContainer>org.eclipse.jst.j2ee.internal.web.container/artifact</classpathContainer>
</classpathContainers>
  • Type: java.util.List
  • Required: No

downloadJavadocs:

Enables/disables the downloading of javadoc attachments. Defaults to false. When this flag is true remote repositories are checked for javadocs: in order to avoid repeated check for unavailable javadoc archives, a status cache is mantained. To reset this cache run mvn eclipse:remove-cache, or use the forceRecheck option.
  • Type: boolean
  • Required: No
  • Expression: ${downloadJavadocs}

downloadSources:

Enables/disables the downloading of source attachments. Defaults to false. When this flag is true remote repositories are checked for sources: in order to avoid repeated check for unavailable source archives, a status cache is mantained. To reset this cache run mvn eclipse:remove-cache, or use the forceRecheck option.
  • Type: boolean
  • Required: No
  • Expression: ${downloadSources}

eclipseDownloadSources:

Deprecated. use downloadSources
Enables/disables the downloading of source attachments. Defaults to false. DEPRECATED - use downloadSources
  • Type: boolean
  • Required: No
  • Expression: ${eclipse.downloadSources}

eclipseProjectDir:

Eclipse workspace directory.
  • Type: java.io.File
  • Required: No
  • Expression: ${eclipse.projectDir}

excludes:

List of artifact to exclude from eclipse classpath, beeing provided by some eclipse classPathContainer [MECLIPSE-79]
  • Type: java.util.List
  • Since: 2.5
  • Required: No

forceRecheck:

Enables/disables the rechecking of the remote repository for downloading source/javadoc attachments. Defaults to false. When this flag is true and the source or javadoc attachment has a status cache to indicate that it is not available, then the remote repository will be rechecked for a source or javadoc attachment and the status cache updated to reflect the new state.
  • Type: boolean
  • Required: No
  • Expression: ${forceRecheck}

limitProjectReferencesToWorkspace:

Limit the use of project references to the current workspace. No project references will be created to projects in the reactor when they are not available in the workspace.
  • Type: boolean
  • Required: No
  • Expression: ${eclipse.limitProjectReferencesToWorkspace}
  • Default: false

manifest:

The relative path of the manifest file
  • Type: java.io.File
  • Required: No
  • Expression: ${eclipse.manifest}
  • Default: ${basedir}/META-INF/MANIFEST.MF

packaging:

The project packaging.
  • Type: java.lang.String
  • Required: No
  • Expression: ${project.packaging}

pde:

Is it an PDE project? If yes, the plugin adds the necessary natures and build commands to the .project file. Additionally it copies all libraries to a project local directory and references them instead of referencing the files in the local Maven repository. It also ensured that the "Bundle-Classpath" in META-INF/MANIFEST.MF is synchronized.
  • Type: boolean
  • Required: No
  • Expression: ${eclipse.pde}
  • Default: false

projectNameTemplate:

Allows configuring the name of the eclipse projects. This property if set wins over addVersionToProjectName and addGroupIdToProjectName You can use [groupId], [artifactId] and [version] variables. eg. [groupId].[artifactId]-[version]
  • Type: java.lang.String
  • Required: No
  • Expression: ${eclipse.projectNameTemplate}

projectnatures:

List of eclipse project natures. By default the org.eclipse.jdt.core.javanature nature plus the needed WTP natures are added. Natures added using this property replace the default list.
<projectnatures>
<projectnature>org.eclipse.jdt.core.javanature</projectnature>
<projectnature>org.eclipse.wst.common.modulecore.ModuleCoreNature</projectnature>
</projectnatures>
  • Type: java.util.List
  • Required: No

skip:

Skip the operation when true.
  • Type: boolean
  • Required: No
  • Expression: ${eclipse.skip}
  • Default: false

useProjectReferences:

When set to false, the plugin will not create sub-projects and instead reference those sub-projects using the installed package in the local repository
  • Type: boolean
  • Required: Yes
  • Expression: ${eclipse.useProjectReferences}
  • Default: true

workspace:

This eclipse workspace is read and all artifacts detected there will be connected as eclipse projects and will not be linked to the jars in the local repository. Requirement is that it was created with the similar wtp settings as the reactor projects, but the project name template my differ. The pom's in the workspace projects may not contain variables in the artefactId, groupId and version tags. If workspace is not defined, then an attempt to locate it by checking up the directory hierarchy will be made.
  • Type: java.io.File
  • Since: 2.5
  • Required: No
  • Expression: ${eclipse.workspace}

wtpContextName:

JEE context name of the WTP module. ( ex. WEB context name ).
  • Type: java.lang.String
  • Required: No
  • Expression: ${wtpContextName}

wtpapplicationxml:

Must the application files be written for ear projects in a separate directory.
  • Type: boolean
  • Required: No
  • Expression: ${eclipse.wtpapplicationxml}
  • Default: false

wtpdefaultserver:

What WTP defined server to use for deployment informations.
  • Type: java.lang.String
  • Required: No
  • Expression: ${eclipse.wtpdefaultserver}

wtpmanifest:

Must the manifest files be written for java projects so that that the jee classpath for wtp is correct.
  • Type: boolean
  • Required: No
  • Expression: ${eclipse.wtpmanifest}
  • Default: false

wtpversion:

The version of WTP for which configuration files will be generated. The default value is "none" (don't generate WTP configuration), supported versions are "R7", "1.0", and "1.5"
  • Type: java.lang.String
  • Required: No
  • Expression: ${wtpversion}
  • Default: none