当前位置: > 其它学习 > Maven >

Maven(二):常用命令、依赖管理

时间:2019-02-18 16:28来源:linux.it.net.cn 作者:IT
在上一篇文章中,我们介绍了maven的安装配置与使用maven创建了一个web项目,现在,我们就稍微了解下maven工程的一些基础知识:
 
1、maven项目标准的目录结构:
 
 
对项目进行细分:
 
 
 
 
2、maven的常用命令:
 
maven常用的命令主要有:clear,compile,test,package,install,deploy。
 
(1)clean:清理:将项目根目录下的targer目录清理掉
 
 
(2)compile:编译:将项目中的.java文件编译为.class文件
 
 
(3)test:单元测试:将项目根目录下src/test/java目录下的单元测试类都会执行,单元测试类名有要求:XxxTest.java


 
 
(4)package:打包:将项目打包,打包到项目根目录下target目录:
 
web project ---war包
 
java project ---jar包
 
(5)install:安装:打包到本地仓库,解决本地仓库多个项目公用一个jar包
 
(6)maven项目的生命周期:
 
在maven中存在“三套”生命周期,每一套生命周期相互独立,互不影响。在一套生命周期内,执行后面的命令,前面的操作会自动执行。
 
①CleanLifeCycle:清理生命周期:clean
 
②defaultLifeCycle:默认生命周期:compile、test、package、install、deploy
 
③siteLifeCycle:站点生命周期:site
 
 
 
3、依赖范围:
 
maven项目的核心配置文件是pom.xml,我们可以在这个文件中,添加需要依赖的Jar包,同时还可以在<scope>标签中配置jar的有效范围,即依赖范围,如下图:
 
 
添加依赖:默认依赖范围是compile
 
provided:运行时部署到tomcat后不再需要
 
如果将servlet-api.jar设置为compile,打包后项目包含servlet-api.jar,war包部署到tomcat跟tomcat中存在的servlet-api.jar包冲突,导致运行失败:

 
 
 
解决:修改依赖的范围:
 
 
 
 
4、依赖管理:
 
(1)传递依赖:A依赖B,B依赖C,B是A的直接依赖,C是A的传递依赖。
 
遵循原则:
 
--第一声明者优先原则:谁先定义的就用谁的传递依赖
 
--路径近者优先原则:直接依赖级别高于传递依赖
 
(2)排除依赖:
 
 
(3)版本锁定:(重点)
 
 
 
 
 
5、依赖传递的范围:
 
 
 
 

(责任编辑:IT)
------分隔线----------------------------