maven 的理解

概述
maven是一个项目管理工具,包含了一个项目对象模型(pom:project object model),一组标准集合,一个项目生命周期,一个依赖管理系统,和用来运行定义在生命周期阶段中插件目标的逻辑。

maven解决的问题
1)引入并管理jar包;
2)编译java文件;
3)可进行单元测试,检验代码质量;
4)打包(将代码以及配置文件、资源整合)方便。

maven核心功能
1)依赖管理
2)一键构建

maven仓库种类:本地仓库、远程仓库【私服】、中央仓库

执行顺序:本地仓库 ——> 远程仓库【私服】——> 中央仓库

maven默认目录结构

描述文件路径
核心代码部分src/main/java
配置文件部分src/main/resources
测试代码部分src/test/java
测试配置文件src/test/resources
页面资源( js,css)src/main/webapp

maven常用命令

命令描述
mvn clean将项目的编译信息进行清除
mvn compile将src包下的代码进行编译放置target文件夹下
mvn test把test包下的代码编译至test-classes,同时也会编译main包下的代码
mvn package将项目进行打包放置target包下,打包方式是在项目pom.xml中packaging标签下指定
mvn install将项目进行打包放置target包且将打好的包放置本地库

maven生命周期三种
1)默认生命周期

编译 -> 测试 -> 打包 -> 安装 -> 发布
mvn compile -> mvn test -> mvn package -> mvn install -> mvn deploy

2)清理生命周期

清除项目编译信息 :mvn clean

3)站点生命周期 (后期补充)

如何解决依赖冲突
1)第一声明优先原则
哪个jar包的坐标在靠上的位置,这个jar包就是先声明的,就可以优先进入项目中;

2)路径近者优先原则
直接依赖路径比传递依赖路径近,那么最终项目进入的jar包会是路径近的直接依赖包;

3)直接排除法
当我们要排除某个jar包下的依赖包,在配置exclusions标签的时候,内部可以不写版本号,此时依赖包使用的版本和默认jar一样。

补充:
直接依赖:项目中直接导入的jar包,就是该项目的直接依赖包;
传递依赖:项目中没有直接导入的jar包,通过项目直接依赖jar包传递到项目中去。

学习笔记! 如有不正确的地方请指正,感谢!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值