Maven的讲解
1、基础知识
1.1、核心过程
Java项目的生命周期大致是 :开发–>编译–>测试(可选)–>打包–>部署(可选)
-
mvn跟大部分仓库机制一样,有本地和远程mvn仓库(第一次从远端(官方仓库)下载,保存在本地.m2文件夹中
~/.m2/repository
,后面会优先用本地) -
核心通过
pom.xml
来记录管理各种包依赖、父子关系、版本…etc -
pom.xml
中名字有不少,最基本的也就几个dependency,module,parent
,裸用就dependency即可 -
dependency是核心,那么如何唯一确定一个包,就通过它的子元素–称为坐标唯一确定。包括
xxID,version,type
… -
mvn最常用的命令无外乎
clean,install,package,test,compile
(下面说) -
最常见的包关系就是**“递进依赖”** 和 “重复依赖” (递进:A包依赖B包,B又依赖C包,mvn把这条线都下下来。重复:项目同时依赖了A和B包,它们又同时依赖C包,mvn根据策略只导一个)
1.2、常见命令对比
在Maven插件里, 可以看到一系列的命令: clean, compile, test, package, install, deploy
等,这里简要说一下他们的区别:
- compile: 这个就是单纯编译, 把java文件变为class文件, 不会做任何其他的事. (基本是必须步骤. 极少单独使用)
- package: 就是最常用的把当前项目打包 (常用)
- 如果pom文件设置了打war包, 命令就等价于
mvn war:war
- 如果pom文件设置是jar包, 命令就等价于
mvn jar:jar
- 如果pom文件设置了打war包, 命令就等价于
- in