一 : 认识 maven 以及 为何要使用它
Maven 是一个良好的 项目构建工具 、 依赖管理工具 以及 项目信息管理工具
Maven 于 make 、 ant 的区别在于 make 和 ant 都是过程式的 , 而 maven 是声明式的 。
Make 、 ANT 都是按照它们的约定 , target —> depends —> command 来完成自己想要的构建
Maven 项目的构建过程和过程各个阶段所需的工作都由插件实现,开发者只需要声明项目的基本元素 ,它就会执行内置的完整的构建过程
二 : Maven 安装 以及 目录详解
安装很简单
目录 :
echo $MAVEN_HOME
bin : bin目录下主要是一些执行脚本 , mvn 以及用于调试用的 mvnDebug .
boot :里面就一个 jar 包 , 是maven的类加载器 , 用于加载maven需要的类
lib : 里面是maven需要的jar包
conf : 存全局配置文件 setting.xml
.m2/repxx
这个是maven本地仓库 , 一般建议在这里配置一个setting.xml文件 , 作用范围为用户
三 : Maven 的使用入门
编写pom . 最简单的坐标
groupId : 项目组名称 com.zzx.mall
artifactId : 项目名称 mall-api
version : 版本 1.0.1-SNATESSHOPT
编写主代码 helloWorld
编写测试代码 junit (在pom文件引入junit)
mvn clean test , compile , package , install. . 生命周期会详细讲
Maven 所有命令的结果都会在 target 包下面 , compile的代码会放在 classess包下面 , test-compile 会放在 test-compile下面 。 package会在目录下生成jar包 , install会在本地仓库生成 jar 包
使用 maven-archetype-plugin 插件来构建骨架
四: 项目的业务背景
一个注册系统
五: 坐标和依赖
六: 仓库
七:生命周期与插件
八:聚合与继承:
聚合是为了方便统一的构建
继承是为了避免重复的配置
对于聚合模块来说 , 他知道有哪些模块被聚合 , 但是被聚合的模块不知道这个聚合模块的存在
对于继承模块来说所 , 他不知道有哪些模块继承了它 , 但是子模块都要知道自己的父pom是什么
Import 作用范围两个特殊点:
只在 dependencyManagement元素下有效果
Import范围其作用的特殊性, 一般指用在类型为 pom 的依赖中
当只考虑想要从其他 parent 中获取一摸一样的 dependenyManagement 时 , 可以考虑引进依赖 , 并且使用这个范围
九: 搭建自己的私服
十四: 灵活的构建
maven三大内置特性 : 1. 属性
2. Profile
3. 资源过滤
属性
Profile
用于配制不能的环境
1.可以用profile来设置多个环境 , 但是 maven属性默认只有在 pom中才会被解析 。 所以在属性文件中的${xx}只有放到pom 中才会
被profile中设置的真实值映射到 , 但是如果放到 src/main/resources 中,构建的时候还是${xx}被生成到target目录的资源文件中,并不会
映射真实的值 。 所以要开启资源过滤才可以生效。
2.有多种激活方式
3.用于查看当前哪个profile被激活
4.小结