最近看了b站上介绍maven的视频,初步对maven有了一些了解,简单说下我的认识。
作者从是什么为什么怎么做(whatwhyhow)的角度介绍了maven。maven是服务于Java的项目自动构建工具。Make -> Ant -> Maven -> Gradle这是目前自动构建工具的演化,目前Maven仍是主流,但是论及效率什么还是远远比不上Gradle,以后有机会还是要好好了解一下gradle。
Maven能够帮助我们规范地管理依赖,还有很多好处。
使用Maven来管理依赖时,我们使用三个向量来定位一个Maven工程
gav
Maven的生命周期比较有意思。它有三套相互独立的生命周期。
三套生命周期
注意:
- 不同的生命周期可以复选,格式是
mvn [clean] [default] [site] - 同一个生命周期下的phase是顺序的,且考后的phase会执行前面所有的phases
比如mvn compile会跑完所有前面的phases :validate; generate-sources; process-sources; generate-resources; process-resources.
Maven还有一些依赖排除,依赖传递,依赖原则,继承,聚合等特点,我就不一一罗列了,下面记录几个印象深刻的知识点: - Maven可以帮助把一个项目拆分成多个模块
- java中rt包就是runtime的缩写
- 工程坐标和仓库路径的关系
- maven jar包冲突的时候有两个原则:就近原则(路径最短优先),路径相同时先声明者优先
- properties标签可以统一修改
以后我还可以努力的方向: - 了解我们项目结构,知道每一部分的含义和作用
- 了解gradle的用法,试着把我们项目从maven往gradle迁移。
网友评论