7.3插件目标

在进一步详述插件和生命周期的绑定关系之前,必须先了解插件目标(Plugin Goal)的概念。我们知道,Maven的核心仅仅定义了抽象的生命周期,具体的任务是交由插件完成的,插件以独立的构件形式存在,因此,Maven核心的分发包只有不到3MB的大小,Maven会在需要的时候下载并使用插件。

对于插件本身,为了能够利用代码,它往往能够完成多个任务。例如maven-dependency-plugin,这能够基于项目依赖做很多事情。它能够分析项目依赖,帮助找出潜在的无用依赖;它能够列出项目的依赖树,帮助分析依赖来源;它能够列出项目所有已解析的依赖,等等。这每个这样的功能编写一个独立的插件显然是不可取的,因为这些任务背后有很多可以利用的代码,因此,这些功能聚焦在一个插件里,每个功能就是一个插件目标。

maven-dependency-plugin有十多个目录,每个目标对应了一个功能,上述提到的几个功能分别对应的插件目录为dependecy:analyze, dependency:tree 和 dependecy:list

results matching ""

    No results matching ""