本文主要说明如何使用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插件的详细信息请参考Maven Help Plugin页面。此处,仅举例说明如何使用help插件查看plugin goal的信息。

以maven-eclipse-plugin为例,举例说明。

1,首先在pom.xml文件中配置插件。

<project>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-eclipse-plugin</artifactId>
<version>2.10</version>
<configuration>
<downloadSources>true</downloadSources>
<downloadJavadocs>true</downloadJavadocs>
<wtpversion>2.0</wtpversion>
<wtpContextName>spring3</wtpContextName>
</configuration>
</plugin>
</plugins>
</build>
</project>

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.10

Name: Apache Maven Eclipse Plugin
Description: The Eclipse Plugin is used to generate Eclipse IDE files
  (.project, .classpath and the .settings folder) from a POM.
Group Id: org.apache.maven.plugins
Artifact Id: maven-eclipse-plugin
Version: 2.10
Goal Prefix: eclipse

This 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 files

eclipse:myeclipse-clean
  Description: Deletes configuration files used by MyEclipse

eclipse: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 .websettings

eclipse: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] ------------------------------------------------------------------------

如何查看maven plugin所包含的goal的更多相关文章

  1. Spring Boot的Maven插件Spring Boot Maven plugin详解

    Spring Boot的Maven插件(Spring Boot Maven plugin)能够以Maven的方式为应用提供Spring Boot的支持,即为Spring Boot应用提供了执行Mave ...

  2. 查看maven项目的依赖关系 mvn dependency:tree

    maven-dependency-plugin最大的用途是帮助分析项目依赖,dependency:list能够列出项目最终解析到的依赖列表,dependency:tree能进一步的描绘项目依赖树,de ...

  3. 学习Maven之Cobertura Maven Plugin

    cobertura-maven-plugin是个什么鬼? cobertura-maven-plugin是一个校验单元测试用例覆盖率的工具,可以生成一个测试覆盖率报告,可以给单元测试用例编写提供参考. ...

  4. Spring Boot Maven Plugin打包异常及三种解决方法:Unable to find main class

    [背景]spring-boot项目,打包成可执行jar,项目内有两个带有main方法的类并且都使用了@SpringBootApplication注解(或者另一种情形:你有两个main方法并且所在类都没 ...

  5. tomcat:run和tomcat7:run的区别,以及Apache Tomcat Maven Plugin 相关

    起因: 同事部署的maven项目,之前使用 jetty,现在切换到 tomcat,但是他使用的命令是 tomcat:run ,而不是 tomcat7:run,能启动,但出现问题了. 于是搜索了一番,想 ...

  6. Maven实现Web应用集成測试自己主动化 -- 部署自己主动化(WebTest Maven Plugin)

    上篇:Maven实现Web应用集成測试自己主动化 -- 測试自己主动化(WebTest Maven Plugin) 之前介绍了怎样在maven中使用webtest插件实现web的集成測试,这里有个遗留 ...

  7. Spring Boot Maven Plugin(一):repackage目标

    简介 Spring Boot Maven Plugin插件提供spring boot在maven中的支持.允许你打包可运行的jar包或war包. 插件提供了几个maven目标和Spring Boot ...

  8. Intellij IDEA 中如何查看maven项目中所有jar包的依赖关系图(转载)

    Intellij IDEA 中如何查看maven项目中所有jar包的依赖关系图 2017年04月05日 10:53:13 李学凯 阅读数:104997更多 所属专栏: Intellij Idea   ...

  9. Error : Weblogic Maven Plugin deployment WebLogic 12c

    Error : Weblogic Maven Plugin deployment i want to use weblogic-maven-plugin in my maven project in ...

随机推荐

  1. ArrayList和CopyOnWriteArrayList

    这篇文章的目的如下: 了解一下ArrayList的增删改查实现原理 看看为什么说ArrayList查询快而增删慢? CopyOnWriteArrayList为什么并发安全且性能比Vector好 1. ...

  2. python web入门程序

    python2.x web入门程序 #!/usr/bin/python # -*- coding: UTF-8 -*- # 只在python2.x 有效 import os #Python的标准库中的 ...

  3. 关闭Excel提示文件格式和扩展名不匹配的警告框

    打开某些excel表时,Excel会提示: "a.xls"的文件格式和扩展名不匹配.文件可能已损坏或不安全.除非您信任其来源,否则请勿打开.是否仍要打开它?   在编辑大量的xls ...

  4. SPOJ 104 HIGH - Highways 生成树计数

    题目链接:https://vjudge.net/problem/SPOJ-HIGH 解法: 生成树计数 1.构造 基尔霍夫矩阵(又叫拉普拉斯矩阵) n阶矩阵 若u.v之间有边相连 C[u][v]=C[ ...

  5. 12块钱搭建一个ss(包括一个免费服务器)

    AWS搭建ss(shadow socks) 如果你符合以下条件,那么继续看还是有点帮助的: 想搞个服务器(包括windows Linux)(免费) 想科学上网(也免费) 之前也从网上搜过本文内容,但手 ...

  6. java常量池中基本数据类型包装类的小陷阱

    想必大部分学过java的人都应该做过这种题目: public class Test { public static void main(String[] args) { //第一个字符串 String ...

  7. 【ASP.NET MVC】View与Controller之间传递数据

    1   概述 本篇文章主要从操作上简要分析Controller<=>View之间相互传值,关于页面之间传值,如果感兴趣,可参考我另外一篇文章ASP.NET 页面之间传值的几种方式 . Co ...

  8. 再起航,我的学习笔记之JavaScript设计模式20(策略模式)

    策略模式 策略模式(Strategy):将定义的一组算法封装起来,使其相互之间可以替换.封装的算法具有一定的独立性,不会随客户端变化而变化. 其实策略模式在我们生活中可应用的地方还是比较多的,比如在商 ...

  9. 第1阶段——u-boot分析之make 100ask24x0_config指令(1)

    本文学习目标:         掌握"make 100ask24x0_config"指令在Makefile和mkconfig文件中是怎么实现配置芯片选型 1.执行make 100a ...

  10. React Native底|顶部导航使用小技巧

    导航一直是App开发中比较重要的一个组件,ReactNative提供了两种导航组件供我们使用,分别是:NavigatorIOS和Navigator,但是前者只能用于iOS平台,后者在ReactNati ...