一、基本概念

首先了解maven的基本内容,以及maven中央仓库的网址(只要做java开发必定要用到)

Maven学习笔记_生命周期

Maven学习笔记_maven项目_02

Maven学习笔记_maven项目_03


Maven学习笔记_生命周期_04


Maven学习笔记_maven项目_05


Maven学习笔记_maven项目_06

二、仓库配置

1.首先要配置本地仓库(系统默认放在C盘,占用系统盘空间),我们需要在其他非系统盘中新建一个文件夹来作为本地仓库;
2.其次进入settings.xml文件中,将中的注释提出来并修改;
3.然后对远程连接的仓库位置进行修改(因为maven的中央仓库在国外,访问以及下载速度较慢,推荐使用阿里的镜像仓库),并且需要准确放在settings.xml文件中;

<mirror>
		<id>alimaven</id>
		<mirrorOf>central</mirrorOf>
		<name>aliyun maven</name>
		<url>http://maven.aliyun.com/nexus/content/repositories/central/</url>
	</mirror>

4.局部setting会覆盖全局setting的内容,可以理解为子类重写父类的内容(一般用于知识版权的保护,创建的私人仓库);

Maven学习笔记_生命周期_07

Maven学习笔记_生命周期_08

Maven学习笔记_maven_09

Maven学习笔记_maven_10

Maven学习笔记_maven项目_11

Maven学习笔记_maven_12

Maven学习笔记_生命周期_13


Maven学习笔记_生命周期_14

三、IDEA创建Maven工程(空项目)

1.打开IDEA,然后新建一个空项目,在Settings的搜索栏中搜索maven后修改maven版本和修改配置文件所在目录;
2.打开项目结构(快捷键:ctrl+alt+shift+s),选择并创建一个maven项目,同时补全并设置其结构功能;;
3.依次进行清理,编译,打包执行操作(有两种方式,第二种有debug功能);
a.利用maven project来依次操作clean,compile,test;
b.选择配置运行环境,添加maven运行环境,Name部分可以自己取,但是Command line应该写为compile,选择要执行的文件(好处,回头maven工程想打断点,就可以用debug来操作);

Maven学习笔记_生命周期_15

Maven学习笔记_maven项目_16

Maven学习笔记_maven项目_17

Maven学习笔记_生命周期_18

Maven学习笔记_maven项目_19


Maven学习笔记_maven项目_20

Maven学习笔记_生命周期_21

Maven学习笔记_maven_22

四、IDEA创建Maven项目(启动骨架版)

1、用quickstart创建一个maven项目

a.创建一个新的项目,输入quick,选择quickstart,然后进行下一步;

b.main和test下都含有java文件,但是需要自己创建resources文件;

Maven学习笔记_生命周期_23

Maven学习笔记_maven项目_24

Maven学习笔记_maven项目_25

2、用webapp创建一个maven项目

a.创建一个新的项目,输入web,选择webapp,然后进行下一步;

b.需要自己创建两个java,resources文件,并设置其;

Maven学习笔记_生命周期_26

Maven学习笔记_maven_27

Maven学习笔记_maven_28

Maven学习笔记_生命周期_29

五、Tomcat插件安装和web工程启动

1、tomcat插件安装

a.先创建一个jsp文件,并简单写一句html语句;

b.然后将web.xml和pom.xml中无意义的内容删除;

c.在maven中央仓库中找到tomcat插件,然后选择稳定的版本,点进去后进行代码复制;

Maven学习笔记_maven项目_30


Maven学习笔记_生命周期_31

Maven学习笔记_maven项目_32

Maven学习笔记_生命周期_33

Maven学习笔记_maven项目_34

Maven学习笔记_maven项目_35

Maven学习笔记_maven项目_36

Maven学习笔记_maven_37


Maven学习笔记_maven_38

Maven学习笔记_maven_39

2、web工程启动

d.回到idea,对pom.xml文件进行部署,然后将tomcat服务器跑起来;

e.点击访问路径访问,看到hello world则成功;

f.自主修改端口和访问路径,然后让服务器重新跑起来;

g.然后可以将运行的方式设置为配置,方便点击绿色小三角即可执行;

【Tips】: 注意要停止前面的运行后再启动,避免端口冲突产生错误;

h.解析pom文件架构所包含的完整内容;

Maven学习笔记_maven_40


Maven学习笔记_maven_41

Maven学习笔记_maven项目_42

Maven学习笔记_maven项目_43


Maven学习笔记_maven项目_44

六、依赖配置与依赖传递

1、依赖配置

a.依赖就是通过来配置的;

Maven学习笔记_maven项目_45

Maven学习笔记_生命周期_46

2、依赖传递

a.依赖具有传递性

Maven学习笔记_生命周期_47


Maven学习笔记_maven_48

b.依赖传递冲突问题

Maven学习笔记_maven项目_49

  • 路径优先

Maven学习笔记_生命周期_50

  • 声明优先

Maven学习笔记_maven项目_51

  • 特殊优先

Maven学习笔记_maven_52

3、可选依赖

Maven学习笔记_maven_53

Maven学习笔记_生命周期_54

4、排除依赖

Maven学习笔记_maven_55

Maven学习笔记_生命周期_56

Maven学习笔记_maven项目_57

5、可选依赖和排除依赖的区别:

可选依赖算是对方的私房钱,对方才可以决定给不给你看(不透明);排除依赖是你自身主动断开和对方某些依赖的连接,是取决于你自身(不需要);

七、依赖的范围

1、依赖的范围大不相同,一般会采用默认的形式打包,但是具体情况需要具体操作;
2、依赖的范围有很严格的要求,一般用到哪再查表即可;

八、生命周期与插件

1、构建生命周期

生命周期指的是运行的阶段;

生命周期控制的是在进行构建任务的时候,执行的过程都有哪些,每一个过程上都有一件事;

Maven学习笔记_maven项目_58

Maven学习笔记_maven_59

Maven学习笔记_maven项目_60

Maven学习笔记_maven_61

Maven学习笔记_maven_62

Maven学习笔记_maven项目_63

2、插件

插件是指为了支持生命周期的那些事;
上面所讲的这件事,本质上是由插件来实现的,比如说默认你只能在这个阶段做这件事情,但是你可以通过添加插件来使功能更加完善;

a.插件部署及分析

Maven学习笔记_maven项目_64

Maven学习笔记_生命周期_65

Maven学习笔记_maven_66

Maven学习笔记_maven项目_67

b.插件执行与验证

Maven学习笔记_maven_68

Maven学习笔记_maven_69

Maven学习笔记_生命周期_70

Maven学习笔记_maven项目_71

Maven学习笔记_生命周期_72


Maven学习笔记_maven项目_73


Maven学习笔记_maven项目_74

Maven学习笔记_maven_75

c.抽象理解生命周期和插件

生命周期可以理解为你6岁的时候,插件可以理解为这一年你所干的事情;

Maven学习笔记_maven_76