本文主要说明如何使用maven的help插件查看其他maven插件提供的goal信息。
maven项目的构建生命周期(build lifecycle)由很多阶段组成:从validate到deploy。
maven插件中包含goal。这些goal可以被绑定到不同的maven的构建阶段上。goal表示一个特定的任务,是一个比构建阶段更细粒度的构建步骤,用于构建和管理当前项目。
要使用maven插件提供的goal,首先得知道这些插件提供了哪些goal以及他们的用法。
maven的核心插件之一 --- help插件(Maven Help Plugin)可以用于查看插件提供了哪些goal。
以下是maven help插件的概述信息:
The Maven Help Plugin is used to get relative information about a project or the system. It can be used to get a description of a particular plugin, including the plugin's mojos with their parameters and component requirements, the effective POM and effective settings of the current build, and the profiles applied to the current project being built.
关于maven help插件的详细信息请参考页面。此处,仅举例说明如何使用help插件查看plugin goal的信息。
以maven-eclipse-plugin为例,举例说明。
1,首先在pom.xml文件中配置插件。
org.apache.maven.plugins maven-eclipse-plugin 2.10 true true 2.0 spring3
2,从命令行进入项目所在路径(pom.xml所在的路径)。
3,按如下格式执行命令:
mvn help:describe -Dplugin=groupId:artifactId:version
如:
mvn help:describe -Dplugin=org.apache.maven.plugins:maven-eclipse-plugin:2.10
然后回车,则输出如下信息:[INFO] Scanning for projects...[INFO] [INFO] ------------------------------------------------------------------------[INFO] Building development 0.0.1-SNAPSHOT[INFO] ------------------------------------------------------------------------[INFO] [INFO] --- maven-help-plugin:2.2:describe (default-cli) @ development ---[INFO] org.apache.maven.plugins:maven-eclipse-plugin:2.10Name: Apache Maven Eclipse PluginDescription: The Eclipse Plugin is used to generate Eclipse IDE files (.project, .classpath and the .settings folder) from a POM.Group Id: org.apache.maven.pluginsArtifact Id: maven-eclipse-pluginVersion: 2.10Goal Prefix: eclipseThis plugin has 12 goals:eclipse:clean Description: Deletes the .project, .classpath, .wtpmodules files and .settings folder used by Eclipse.eclipse:configure-workspace Description: Configures The following Eclipse Workspace features: - Adds the classpath variable MAVEN_REPO to Eclipse. - Optionally load Eclipse code style file via a URL.eclipse: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).eclipse:help Description: Display help information on maven-eclipse-plugin. Call mvn eclipse:help -Ddetail=true -Dgoal=<goal-name> to display parameter details.eclipse:install-plugins Description: Install plugins resolved from the Maven repository system into an Eclipse instance.eclipse:myeclipse Description: Generates MyEclipse configuration fileseclipse:myeclipse-clean Description: Deletes configuration files used by MyEclipseeclipse:rad Description: Generates the rad-6 configuration files.eclipse:rad-clean Description: Deletes the config files used by Rad-6. the files .j2ee and the file .websettingseclipse:remove-cache Description: Removes the not-available marker files from the repository.eclipse:resolve-workspace-dependencies Description: For all projects currently part of the workspace, all references to the M2_REPO classpath variable are resolved. Note: not the projects of the reactor are inspected for unresolved artifacts, but the projects that are part of the workspace.eclipse:to-maven Description: 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 MakeArtifactsMojo Typical usage: mvn eclipse:to-maven -DdeployTo=maven.org::default::scpexe://repo1.maven.org/home/maven/repository-staging/to-ibiblio/eclipse-staging -DeclipseDir=.For more information, run 'mvn help:describe [...] -Ddetail'[INFO] ------------------------------------------------------------------------[INFO] BUILD SUCCESS[INFO] ------------------------------------------------------------------------[INFO] Total time: 0.887 s[INFO] Finished at: 2017-09-22T11:10:52+08:00[INFO] Final Memory: 11M/150M[INFO] ------------------------------------------------------------------------