maven学习
maven学习
什么叫做构建
构建是源代码生成可执行应用程序的过程自动化程序,包括、编译、连接、代码打包成可用或者可执行的形式,为了解决大型项目中构建复杂度高等问题
maven三个构建生命周期的核心概念
maven核心生命周期有三个、我们称之为default/clean/site,每个生命周期都由不同的阶段组成,并且提供不同的自动化服务:default(build)主要用于处理项目部署;clean用于清理项目;site处理项目站点文档的创建。
default项目阶段解读
- valide - 验证项目必要信息是否可用
- compile - 编译项目的源代码
- test - 使用合适的单元测试框架测试编译的源代码。这些测试不要求代码已被打包或部署
- package - 获取已编译的代码并将其打包为可分发的格式,例如 JAR。
- verify - 对集成测试结果进行一些检查,以确保满足质量标准
- install - 将软件包安装到本地存储库中,以便在本地用作其他项目的依赖项
- deploy - 在构建环境中完成,将包复制到远程存储库用于与其他开发人员和项目共享。
pom文件基本信息解读
- groupId:创建项目的组织或公司的唯一标识符。groupId 是项目的关键标识符之一,通常基于组织的完全限定域名。如com.shiyanlou
- artifactId:此项目在组中的唯一标识符。
- packaging:包类型(例如 JAR,WAR,EAR 等)。
其中groupId、artifactId、version是项目的坐标,每个项目都有自己的坐标,并且是唯一的,当其他项目需要使用该项目时,才可以准确的引用,使用的方式也就是在dependencies元素中添加dependency,dependency元素中填写需要的外部依赖。
定制构建过程、maven插件的使用
当进行构建过程定制化的时候,只需要在maven中添加和重新配置插件信息即可。例如如果想要运行web项目只需要根据构建流程,添加jetty插件就可以达到以jetty-mvn命令启动web项目的目的
dependencies 和 dependencyManagement 有什么区别?
dependencyManagement 用在父 pom 中,为的是统一子 pom 文件中的版本,当子 pom 需要使用某个依赖时,直接引入依赖即可,不用定义版本号,直接使用父 pom 的 dependencyManagement 定义的版本号。除了 dependencies 和 dependencyManagement,还有 plugins 和 pluginManagement,他们相似,只是 plugins 和 pluginManagement 用于管理插件。
maven 说明
maven是定义自动化构建流程,所以会基于该流程定义文件、坐标、项目目录以及各种输出默认格式、当执行构建命令的时候,会在其自定义的阶段在自定义的目录进行输出;以maven进行项目管理、开发、测试、编码,一定要符合maven规范。