Maven高级(一)

140 阅读2分钟

maven高级应用

1.maven基础回顾

maven基础回顾

maven是一个项目管理工具
依赖管理:maven对项目中jar包的管理过程。传 统工程我们直接把jar包放置在项目中。
maven工程真正把jar包放置在仓库中,项目中只用放置jar包的坐标
仓库种类:本地仓库,远程仓库【私服】,中央仓库。
仓库直接的关系
1.当我们启动一个maven工程的时候,maven工程会通过pom文件中的jar包的坐标去本地找对应的jar包,默认情况下,如果本地仓库没有对应的jar包,maven工程会自动去中央仓库下载jar包到本地仓库。
2.在公司中如果本地没有jar包,会先从私服下载jar包
如果私服没有jar包,可以从中央仓库下载,也可以从本地上传
一键构建:maven自身集成了Tomcat插件,可以对项目进行编译,测试,打包,安装,发布等操作。
maven常用命令
clean:clean是maven工程的清理命令,执行 clean会删除target目录及内容。
compile:是maven工程的编译命令,作用是将src/main/java下的文件编译为class文件输出到target目录下。
test:是maven工程的测试命令 mvn test,会执行src/test/java下的单元测试类
package:是maven工程的打包命令,对于java工程执行package打成jar包,对于web工程打成war包。
install:是maven工程的安装命令,执行install将maven打成jar包或war包发布到本地仓库
deploy:会把本地做好的项目直接打包上传到私服。
maven三套生命周期
清理生命周期
默认生命周期
站点生命周期

maven导入jar包时的冲突解决办法

方法1
第一声明优先原则:哪个jar包的坐标在靠上的位置,这个jar包就是优先声明的,先声明的jar包坐标下的依赖包,可以优先进入项目。

maven导入jar包的概念
直接依赖:项目中直接导入的jar包,就是该项目的直接依赖包
传递依赖:项目中没有直接导入jar包。可以通过该项目直接依赖jar包传递到项目中去。
方法2
路径近者优先原则:直接依赖路径比传递依赖路径近,那么最终项目进入的jar包会是路径近的
方法3
直接排除法:当我们要排除某个jar包下依赖包,在配置exclusion标签的时候,内部可以不写版本号,因为此时依赖包使用的版本和本jar包一致。