教程指路:这里
我觉得老师讲的非常好,虽然真正上手的内容不多,但是能够让你对原理,为什么这样做更加清楚,这远远比只告诉你怎么做的教程好多了,建议全程高倍速,因为有噪音,高倍速可以降噪啊哈哈
但是教程使用的是eclipse环境,我使用的是idea环境,所以有些内容有所修改,适配idea
还在学习如何在idea中创建maven web项目:如果学会了再来补充!:教程在这里
注意这个教程需要我们创建一个新的project而不能使用原来的新建一个module。
使用eclipse的小伙伴可以在上面教程的19,20讲看到创建web项目
目录
1.什么是Maven
现在技术在开发中的存在的问题:
什么是Maven:
安装Maven核心程序
1.下载核心程序
2.配置M2_HOME和path环境变量
分别是不带bin的路径和带bin的路径
3.测试:mvn -v
Maven核心概念
创建第一个Maven项目
约定的目录结构
为什么要遵守约定的目录结构?Maven需要负责我们项目的自动化构建,Maven想要自动编译,就必须知道源文件在什么位置。如果我们想要自定义的内容让框架或者工具知道,有两种方法:1.配置的方式告诉框架 2.遵守框架内部存在的约定
常用Maven命令
POM
含义:Project Object Model 项目 对象 模型
pom.xml对于Mavne工程师核心配置文件,和构建过程相关的一切配置都在这个文件中配置,和动态Web工程中的web.xml类似
坐标
使用三个向量(gav)在仓库中唯一定位一个Maven工程
[1]groupid:公司或者阻止域名倒叙+项目名
[2]artifactid:模块名称
[3]version:版本
Maven工程的坐标和仓库中路径的对应关系
仓库
依赖
典型例子就是servletAPI,在开发测试的时候需要提供,但是在部署运行的时候API由服务器提供
生命周期
Maven在idea中的配置
1.下载解压设置环境变量
2.设置settings(一般设置本地仓库位置,mirror)
3.idea中settings设置
4.测试环境(基本不用改变配置)
这一步可以直接跳过,需要的时候再下载相应的内容
我们可以看到目录的结构和上面的要求是一致的
右边有核心操作,双击即可
我们以install为例子,最终创建成功
注意:如果出现了501错误,很可能是出现了镜像错误,由于maven不支持http协议,我们需要使用https的协议。镜像就使用我在上面贴出来的即可正常使用
maven在eclipse中配置位于教程的(p19-20)
依赖
③统一管理依赖的版本
继承
案例:
注意:配置继承后要先安装(install)父工程
聚合
在聚合的工程中使用install。
deploy(自动部署到服务器)
不太好用,现在IDE更加方便
小问题
1.
原因:和tomcat的jar包的冲突导致
修改方法:使用provide范围
2.
为什么在调试代码的时候没有问题但是在执行maven命令时报错?
原因:注意如果我们在使用maven命令时所有的配置都来自于maven中的pom.xml文件中的配置,在IDE的环境有依赖不代表在maven的xml文件中有,IDE中的依赖Maven是无法使用的
修改方法:在pom.xml中配置相关的内容即可