maven学习

Maven作为Java项目的构建工具,标准化了项目结构、依赖管理和构建流程。它通过pom文件管理依赖,解决了资源重复问题,并提供项目模块化管理。Maven引入构建生命周期概念,包括clean、default、site三个阶段,每个阶段由多个phase组成,实现了项目构建流程的标准化。

前言:maven从初识到现在系统学习,觉得其只是一个使用工具,尤其读到同样是构建工具 gradle 相关文章时。因此,我觉得对maven的学习暂 停留到对 maven工具的系统性认识以及对maven的熟练使用即可。

1.maven 是什么?

maven 是一个 java 项目构建工具,将过去凌乱的项目结构、打包、编译、依赖管理等流程标准化、自动化了。

2.maven的核心点

maven 的核心功能在于项目结构管理、依赖管理、构建流程管理。

  • 项目结构管理
    maven基于“约定大于配置”,规范了java项目结构安排,如典型的 src/main/java|resource 目录结构。
    同时,maven也加入了项目模块化管理,以pom文件为基础,形成 多模块聚合、父子模块继承等模块管理功能。
  • 依赖管理
    maven通过pom文件中 等标签管理项目依赖。通过groupId、artifactId、version唯一区分一个依赖。
    其通过pom文件分析项目所需依赖,通过自身建立的 仓库(本地仓库、私服、中央仓库) 拉取所需jar包,解决资源重复问题。
    因项目所需jar包内的依赖,可能产生依赖名称相同却版本不同的jar包,maven自身设置了最短路径以及最先声明的依赖冲突解决方法,但该方法存在危险性,推荐做法是通过管理jar包版本,或者直接手动 exclude 掉冲突的 jar包。
    maven也提供了在不同运行范围管理依赖的功能,即
  • 构建流程
    鉴于过去项目打包、编译等环节的杂乱无章,maven首先提出了构建生命周期概念,包括clean、default、site,针对生命周期的定义,对每一个生命周期,又细分出了phase,即一个生命周期内存在多个phase,且phase的执行有前置性,即执行某一个phase,会首先执行其前置phase,因此生命周期有一组串行phase组成,而针对该生命周期特点,对phase进行了具体化,如clean周期中的pre-clean、clean,default周期中的compile、test等,而后针对每一个phase又进行了插件式的实现(如在idea右侧可见到),实现了对项目整个构建流程的标准化。
3.maven的使用

详细的maven使用,可百度或参考前人博文:
https://blog.youkuaiyun.com/lovequanquqn/article/details/81627807

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值