如果你写 Java 或 Kotlin 时遇到过这几种情况,这门课就值得花时间:pom.xml 里依赖一多就不知道谁把谁覆盖了;mvn package 跑出来的 jar 在本地能跑、换台机器就报 ClassNotFoundException;多个模块互相引用,改了 A 模块 B 模块却没重新编译;想加个插件但只会从别人项目里复制粘贴。这些都是 Maven 层面的问题,跟业务代码写得好不好没关系。
先确认缺口在哪
Maven 是那种"天天在用、但没系统学过"的典型工具。很多人靠 IDE 自动生成的骨架和搜索引擎拼出来的配置在维持项目运转,一旦偏离常见套路就卡住。你可以用下面几个问题自查:
- 坐标(groupId / artifactId / version)三者的作用分别是什么,
SNAPSHOT和正式版本在依赖解析上有什么区别? - 依赖的 scope(compile、provided、runtime、test、system)各自在编译、测试、打包、运行四个阶段里是否参与 classpath?
- 依赖传递时,"最短路径优先"和"最先声明优先"两条规则冲突时按哪个走?如何用
exclusions手动切断? - 生命周期的 default、clean、site 三套分别包含哪些 phase,执行
mvn install实际触发到哪一步? - 父 POM 的
dependencyManagement和dependencies区别是什么,为什么多模块项目几乎一定要用前者?
上面有两条以上答不完整,说明你需要补的不是"会不会敲命令",而是 Maven 的模型本身。这门课的顺序大致是:先讲依赖管理和构建工具两个定位,再拆 Maven 的工作机制,然后才是安装、配置和工程搭建,最后落到分模块与常见插件。也就是说,它没有一上来就教你写 pom,而是先把"它替谁干活、怎么干"讲清楚——这一点对后面排查问题很关键。
核心不是配置,是依赖解析
Maven 最容易出问题的部分永远是依赖树。课程里对依赖传递、可选依赖、排除依赖、依赖调解这几块着墨较多,这部分建议不要只看,要跟着在自己项目的根目录执行 mvn dependency:tree,对着输出看冲突从哪来的。真正能解决线上"同一个类有两份、版本不一致"的问题,靠的就是读懂这棵树加上会写 dependencyManagement 锁定版本。
另一个值得留意的是仓库与镜像部分。本地仓库、私服、中央仓库三者的查找顺序,以及 settings.xml 里 mirror 的 mirrorOf 写成 * 和写成 central 的差别,会直接影响你在公司内网能不能拉到包。这些细节自己踩坑很费时间。
配套练习怎么做
光看视频不动手,Maven 是学不会的。建议按三步推进:第一步,新建一个单模块项目,手动把某个常用依赖换成旧版本,观察编译报错,再用排除依赖的方式修好;第二步,拆成三个模块(父、工具模块、应用模块),用 dependencyManagement 统一管理版本,跑一遍 mvn clean install;第三步,给项目加一个打包插件,指定 mainClass,产出一个可以直接 java -jar 运行的包。这三步做完,日常工作中大部分 Maven 场景都能覆盖。
看完应该能回答
- 新项目拉下来依赖下载失败,按什么顺序排查(本地仓库、镜像配置、网络代理、坐标是否正确)?
- 为什么多模块项目里子模块不需要重复声明版本号?
- 如何让某个依赖只在测试期可见,不进最终产物?
- 父 POM 里
<packaging>pom</packaging>是什么意思,不写会怎样?
如果这些问题你读完课程目录就能自己讲清楚,那这套内容对你是复习;如果讲不清楚,那它就是你需要的那块拼图。别跳过简介和工作原理两节去直接看实战——Maven 的坑基本都藏在模型里,而不在命令里。
尚硅谷2023年11月maven精华版
Maven构建工具深度解析
编辑点评
深入浅出,系统讲解Maven的核心概念、配置与实战,适合初学者及进阶者。
⭐ 编辑推荐
尚硅谷2023年11月maven精华版,全面掌握Maven构建工具。
课程亮点
课程目录
├──视频 | ├──00-教程简介.mp4 10.43M | ├──01-Maven简介之依赖管理工具.mp4 95.26M | ├──02-Maven简介之构建工具.mp4 63.94M | ├──03-Maven简介之什么是Maven.mp4 21.18M | ├──04-Maven简介之工作原理.mp4 9.34M | ├──05-Maven的安装和环境配置.mp4 17.27M | ├──06-Maven的功能配置.mp4 34.16M | ├──07-IDEA配置本地Maven软件.mp4 15.94M | ├──08-概念梳理之Maven工程的GAVP.mp4 20.06M | ├──09-IDEA创建Maven的java工程.mp4 40.84M | ├──10-IDEA创建Maven的web工程(方式一).mp4 21.28M | ├──11-IDEA创建Maven的web工程(方式二).mp4 13.41M | ├──12-将Maven的web工程部署到tomcat中.mp4 8.41M | ├──13-Maven工程的项目结构.mp4 18.11M | ├──14-构建的概念和构建的过程.mp4 8.21M | ├──15-构建命令之编译和清理.mp4 25.00M | ├──16-构建命令之测试.mp4 36.78M | ├──17-构建命令之报告.mp4 8.18M | ├──18-构建命令之打包.mp4 27.06M | ├──19-构建命令之安装.mp4 19.82M | ├──20-通过坐标查找jar.mp4 14.96M | ├──21-通过IDEA实现可视化构建.mp4 20.60M | ├──22-构建插件、命令、生命周期之间的关系.mp4 20.27M | ├──23-依赖管理的概念.mp4 18.88M | ├──24-依赖管理配置.mp4 13.47M | ├──25-依赖版本统一提取和维护.mp4 36.89M | ├──26-依赖范围之compile.mp4 38.90M | ├──27-依赖范围之test.mp4 11.26M | ├──28-依赖范围之provided.mp4 26.26M | ├──29-依赖范围之runtime、system、import.mp4 23.95M | ├──30-Maven工程依赖下载失败的原因.mp4 14.44M | ├──31-Maven工程依赖下载失败的解决方案.mp4 23.80M | ├──32-通过脚本批量删除缓存文件.mp4 5.98M | ├──33-Maven工程的构建配置之自定义打包名称.mp4 13.23M | ├──34-Maven工程的构建配置之指定打包文件.mp4 29.13M | ├──35-Maven工程的构建配置之配置插件.mp4 21.33M | ├──36-Maven工程依赖的传递特性.mp4 27.66M | ├──37-Maven工程依赖的传递原则.mp4 38.61M | ├──38-Maven依赖冲突之短路优先原则.mp4 18.65M | ├──39-Maven依赖冲突之先声明优先原则.mp4 19.49M | ├──40-Maven依赖冲突之手动排除依赖.mp4 24.74M | ├──41-Maven工程继承的概念.mp4 20.46M | ├──42-Maven工程的继承关系.mp4 24.72M | ├──43-Maven父工程统一依赖管理.mp4 26.87M | ├──44-Maven工程的聚合关系.mp4 24.19M | ├──45-Maven私服简介.mp4 13.94M | ├──46-Maven私服的优势.mp4 15.72M | ├──47-Nexus的下载和安装.mp4 36.43M | ├──48-Nexus初始设置.mp4 13.35M | ├──49-Nexus的各种仓库.mp4 14.33M | ├──50-通过Nexus下载jar.mp4 80.62M | ├──51-将jar部署到Nexus中.mp4 32.78M | ├──52-引用别人部署的jar.mp4 10.37M | ├──53-Maven综合案例之项目需求和结构分析.mp4 8.03M | ├──54-Maven综合案例之创建父工程.mp4 17.38M | └──55-Maven综合案例之创建子工程.mp4 50.26M ├──代码.zip 16.57M ├──课件.zip 2.64M └──软件.zip 254.64M
适合人群
- Java后端开发者
- Maven工具使用者
- 构建工具学习者
学习收获
祝您学习愉快!
学有所成,前程似锦!
课程目录
视频 00-教程简介.mp4 10.43M 01-Maven简介之依赖管理工具.mp4 95.26M 02-Maven简介之构建工具.mp4 63.94M 03-Maven简介之什么是Maven.mp4 21.18M 04-Maven简介之工作原理.mp4 9.34M 05-Maven的安装和环境配置.mp4 17.27M 06-Maven的功能配置.mp4 34.16M 07-IDEA配置本地Maven软件.mp4 15.94M 08-概念梳理之Maven工程的GAVP.mp4 20.06M 09-IDEA创建Maven的java工程.mp4 40.84M 10-IDEA创建Maven的web工程(方式一).mp4 21.28M 11-IDEA创建Maven的web工程(方式二).mp4 13.41M 12-将Maven的web工程部署到tomcat中.mp4 8.41M 13-Maven工程的项目结构.mp4 18.11M 14-构建的概念和构建的过程.mp4 8.21M 15-构建命令之编译和清理.mp4 25.00M 16-构建命令之测试.mp4 36.78M 17-构建命令之报告.mp4 8.18M 18-构建命令之打包.mp4 27.06M 19-构建命令之安装.mp4 19.82M 20-通过坐标查找jar.mp4 14.96M 21-通过IDEA实现可视化构建.mp4 20.60M 22-构建插件、命令、生命周期之间的关系.mp4 20.27M 23-依赖管理的概念.mp4 18.88M 24-依赖管理配置.mp4 13.47M 25-依赖版本统一提取和维护.mp4 36.89M 26-依赖范围之compile.mp4 38.90M 27-依赖范围之test.mp4 11.26M 28-依赖范围之provided.mp4 26.26M 29-依赖范围之runtime、system、import.mp4 23.95M 30-Maven工程依赖下载失败的原因.mp4 14.44M 31-Maven工程依赖下载失败的解决方案.mp4 23.80M 32-通过脚本批量删除缓存文件.mp4 5.98M 33-Maven工程的构建配置之自定义打包名称.mp4 13.23M 34-Maven工程的构建配置之指定打包文件.mp4 29.13M 35-Maven工程的构建配置之配置插件.mp4 21.33M 36-Maven工程依赖的传递特性.mp4 27.66M 37-Maven工程依赖的传递原则.mp4 38.61M 38-Maven依赖冲突之短路优先原则.mp4 18.65M 39-Maven依赖冲突之先声明优先原则.mp4 19.49M 40-Maven依赖冲突之手动排除依赖.mp4 24.74M 41-Maven工程继承的概念.mp4 20.46M 42-Maven工程的继承关系.mp4 24.72M 43-Maven父工程统一依赖管理.mp4 26.87M 44-Maven工程的聚合关系.mp4 24.19M 45-Maven私服简介.mp4 13.94M 46-Maven私服的优势.mp4 15.72M 47-Nexus的下载和安装.mp4 36.43M 48-Nexus初始设置.mp4 13.35M 49-Nexus的各种仓库.mp4 14.33M 50-通过Nexus下载jar.mp4 80.62M 51-将jar部署到Nexus中.mp4 32.78M 52-引用别人部署的jar.mp4 10.37M 53-Maven综合案例之项目需求和结构分析.mp4 8.03M 54-Maven综合案例之创建父工程.mp4 17.38M 55-Maven综合案例之创建子工程.mp4 50.26M 代码.zip 16.57M 课件.zip 2.64M 软件.zip 254.64M





![大疆维修,无人机维修教程[66.30GB]](/_next/image?url=https%3A%2F%2Fwww.itzhibei.com%2Fapi%2Fuploads%2Fb6a69810-862f-479c-a529-d66880073ebc.jpg&w=1920&q=75)