Maven讲解之 插件和目标
Maven讲解之 插件和目标
由之前的篇章中我们了解到了Maven定义了一些抽象的生命周期,而Maven的具体任务(常指Maven的一些常用命令)都是有插件来完成的,而在每个插件中都将包含多个功能,其中每个功能就是一个插件的目标。
个人认为就字面理解Maven的生命周期(在这里我们特指Default Lifecycle)、插件、目标之间的关系比较晦涩难懂,下面我们将结合实例详细地讲解这三者之间的关系。
在Maven定义的Dfault Lifecycle 中各个plugins 和goals相互独立,共同协作。比如一个完整的Defualt Lifecycle中将由多个plugins共同协作如:Compiler plugin、Install plugin、和 Deploy plugin等。而在各个插件中都有各自的Goals。如在Compiler plugin中我们使用到了gennerate-source、process-source等goals。
-
Maven的Plugins
在哪里
若是用的Default Plugins即在Maven的setting.xml文件中我们并未配置pluginsGroup,那么Maven使用的将是org.apache.maven.plugins 插件组,存在于Maven setting.xml配置的仓库中(*/Repository(或者你自定义的仓库名)/org/apache/maven/plugins)。-
有哪些
这里我们将不对Maven的 plugins进行讲解,有兴趣的可以参阅官方文档或者相关文档。
小结
Maven 的核心仅仅定义了抽象的生命周期,具体的任务都是交由插件完成的。
每个插件都能实现多个功能,每个功能就是一个插件目标。
Maven 的生命周期与插件目标相互绑定,以完成某个具体的构建任务。