关于maven,如果你不知道插件,你相当于不了解maven,就像你学C语言却不会使用指针一样。maven仅仅定义了抽象的生命周期,具体的任务是由插件完成的,插件是独立存在的,maven的官方发布包也就几M大小,maven会在需要的时候从远程仓库下载并使用插件。这就是为什么第一次运行maven命令的时候可以在控制台看到download … 这样日志信息的原因。一个maven插件,为了代码复用,它往往能完成多个任务,每个任务可以理解为一个功能,多个功能聚集在一个插件里,每个功能就是一个插件的目标,即一个goal,goal代表一个特定的任务插件的目标一般如下书写:
比如maven-dependency-plugin中的list和tree书写成 dependency:tree和dependency:list,冒号前面部分是插件,冒号后面是插件目标。