赞
踩
Apache Maven 是一款软件项目管理的开源工具, 是基于工程对象模型(Pom)的概念而设计的。 Maven 可以管理项目构建的整个生命周期, 包括 清理 ( Clean )、编译 ( Compile )、打包( Package )、测试 ( Test ) 等环节。 同时 Maven 提供了非常丰富的插件, 使得构建项目 和管理项目变得非常简单。 构建一个项目所需要的流程如下。
Apache Maven 已经实现了以上的全部功能, 并且只需要相关的命令就可以完成相关的功能。
Maven的核心是 pom 文件,pom 文件以 xml 文件的形式来表示资源, 包括一些依赖 jar、插件、构建文件等。 Maven 的工作过程如下:
groupId、artifactId 和 version 是三个最重要的标签, 根据这三个标签可以在 Maven 仓库中唯一确定该依赖 jar 。其中, groupId 代表了公司、组织名称, 一般为公司域名的倒写;artifactId 代表该项目全局的唯一 Id; version 是该项目的版本。将项目上传到 Maven 仓库中, 有这3个标签才能准确无误的找到该 jar 包。
parent 标签用于指定父 pom,例如需要集成Spring Boot 就需要使用 parent 标签指定该项目的父 pom 为Spring Boot。
properties 标签用于声明一些常量, 例如:源码编码格式、JDK 版本。
dependencies 标签为依赖的根元素, 里面可以包含多个 dependency 元素, dependency 里具体为各个依赖 jar 包的 3 个坐标, 即 groupId、 artifactId 和 version。其中 version 可以缺省, 如果缺省, 就会默认为最新发布版本。
build 为构建标签, 它可以包含 plugins (插件) 标签, plugins 标签中可以包含若干个 plugin 标签,可以根据项目的需求添加相应的 plugin。
在 Maven 工程中, 已经默认定义了构建工程的生命周期, 不需要额外引用其他的插件, 因为 Maven 本身就已经集成了这些插件。 默认的生命周期包括了 23 个阶段。
阶段 | 描述 |
validate | 验证工程的完整性 |
initialize | 初始化 |
generate-sources | 生成源码 |
process-sources | 处理源码 |
generate-resources | 生成所有源码 |
process-resources | 处理所有源码 |
compile | 编译 |
process-classes | 处理 class 文件 |
generate-test-sources | 生成测试源码 |
process-test-sources | 处理测试源码 |
generate-test-resources | 生成所有测试源码 |
process-test-resources | 处理所有测试源码 |
test-compile | 测试编译 |
process-test-classes | 处理测试 class 文件 |
test | 测试 |
prepare-package | 预打包 |
package | 打包 |
pre-integration-test | 预集成测试 |
integration-test | 集成测试 |
post-integration-test | 完成集成测试 |
verify | 验证 |
install | 安装到本地仓库 |
deploy | 提交到远程仓库 |
mvn package 打包命令不是一个简单的命令, 它是由一系列有序的命令构成的, mvn package 命令执行过程包
含以下6个阶段。
1). 验证。
2). 编译代码。
3). 处理代码。
4). 生成资源文件。
5). 生成 jar 包。
6). 测试。
3. mvn package -Dmaven.test.skip=true, 打包时跳过测试。
4. mvn compile 编译工程代码, 不生成 jar 包。
5. mvn install 命令包含了 mvn package 的所有过程, 并且将生成的 jar 包安装到本地仓库。
6. mvn spring-boot:run 使用 spring -boot 插件, 启动 Spring Boot 工程。该命令执行时 先检查 Spring Boot 工程源码是否编译, 如果工程没有编译,则先编译; 如果编译了; 则启动工程。
7. mvn test 测试。
8. mvn idea:idea 生成 Idea 项目。
9. mvn jar:jar 只打 jar 包。
10. mvn validate 检验资源是否可用。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。