一.什么是Maven?
是一个项目管理工具,它包含 了一个项目对象模型,一组标准集合,一个项目生命周期,一个管理系统 ,一组集合,一个项目生命周期,一个依赖管理系统,和用来运行定义 在生命周期阶段中插件的逻辑.
二.Maven 解决什么问题?
项目的构建需要经过:
1.导包
2.编译
3.bug 调试
4.整合,定型打包,布署
1、我们需要引用各种 jar 包,尤其是比较大的工程,引用的 jar 包往往有几十个乃至上百个, 每用
到一种 jar 包,都需要手动引入工程目录,而且经常遇到各种让人抓狂的 jar 包冲突,版本冲突。
2、我们辛辛苦苦写好了 Java 文件,可是只懂 0 和 1 的白痴电脑却完全读不懂,需要将它编译成二
进制字节码。好歹现在这项工作可以由各种集成开发工具帮我们完成,Eclipse、IDEA 等都可以将代
码即时编译。当然,如果你嫌生命漫长,何不铺张,也可以用记事本来敲代码,然后用 javac 命令一
个个地去编译,逗电脑玩。
3、世界上没有不存在 bug 的代码,计算机喜欢 bug 就和人们总是喜欢美女帅哥一样。为了追求美为
了减少 bug,因此写完了代码,我们还要写一些单元测试,然后一个个的运行来检验代码质量。
4、再优雅的代码也是要出来卖的。我们后面还需要把代码与各种配置文件、资源整合到一起,定型
打包,如果是 web 项目,还需要将之发布到服务器,供人蹂躏。
试想,如果现在有一种工具,可以把你从上面的繁琐工作中解放出来,能帮你构建工程,管理 jar
包,编译代码,还能帮你自动运行单元测试,打包,生成报表,甚至能帮你部署项目,生成 Web 站
点,你会心动吗?Maven 就可以解决上面所提到的这些问题。
三.Maven的核心流程有哪两个?
1.Maven的核心功能之一<依赖管理>
需要记住一个概念: jar包的坐标
传统项目里是jar包,所以体积会很大.
mvn项目管工具里,放的是jar包的坐标,都在pom.xml文件中.
总结: maven的依赖管理:就是一个管理jar包的过程.
2.Maven的核心功能之二<一键构建>
什么是构建: 在做项目的过程中,需要编译,测试,运行,打包,包装,布署这些操作,都叫项目的构建.
什么叫一键构建: 用Maven集成的自身插件tomcat来完成 项目的构建.
好处: 方便.
三.Maven 怎么用?
1.下载安装 <a.下载安装; b.配置 c.项目结构了解>
2.Maven仓库
3.Maven工程的认识
.a 下载安装
1.网上下载他的压缩包,选择bin.zip结尾的
2.准备一个没有空格 和中文的目录<通俗的讲就是一个文件夹>
3.相关配置 见 1.b 配置
.b 配置
桌面/此电脑/属性/高级系统设置/环境变量
选择下方的系统变量,新建:
第一行:MAVEN_HOME
第二行: 复制 下载解压好的maven包路径
选择PATH 双击进入,新建 %MAVEN_HOME%\bin
<此处注意,用反斜杠\ 而不是/>
点击确定 , maven 配置完成 , 前提是要完成JDK的配置才可以使用,JDK的配置见其他教程 .
徽标键加R 打开运行 -> cmd 命令 打开对话框 输入 : mvn -v
.c 项目结构
bin:存放了 maven 的命令,比如我们前面用到的 mvn tomcat:run
boot:存放了一些 maven 本身的引导程序,如类加载器等
conf:存放了 maven 的一些配置文件,如 setting.xml 文件
lib:存放了 maven 本身运行所需的一些 jar 包
至此我们的 maven 软件就可以使用了,前提是你的电脑上之前已经安装并配置好了 JDK.
2.Maven仓库
Maven仓库的种类有哪些?
它们都有什么样的关系?
本地仓库怎么配置
仓库分三类: 本地仓库,远程仓库(私服),中央仓库.
Maven工程中并没有放置jar包,它只存放了jar包路径.
系统需要的jar包时 首先从本地仓库 中调用,如果没有,而此时联网,那么它就会互联网上直接调取中央仓库中的jar包.
如果在公司中,有局域网,它默认就会去私服中调取,如果没有就要去中央仓库中调取.
远程 仓库<私服>中可以去中央仓库中调取jar包,也可以从本地仓库中上传.
本地仓库在安装目录的lib目录下的setting.xml文件里,把第53行的localRepository 标签行,复制出来,改里面的路径值:你自己安装Maven的路径.
四.说说你对Maven标准目录结构的认识:
作为一个 maven 工程,它的 src 目录和 pom.xml 是必备的。进入 src 目录后,我们发现它里面的目录结构如下:
src/main/java —— 存放项目的.java 文件
src/main/resources —— 存放项目资源文件,如 spring, hibernate 配置文件
src/test/java —— 存放所有单元测试.java 文件,如 JUnit 测试类
src/test/resources —— 测试资源文件target —— 项目输出位置,编译后的 class 文件会输出到此目录
pom.xml——maven 项目核心配置文件
注意:如果是普通的 java 项目,那么就没有 webapp 目录<目录就是平时我们说的文件夹>.
以上是在2019年第68天学习到一半内容,完整内容见下图所示:
最重要的三个点:
1.大部分知识 应该在老师教你之前,都被你预习完了,老师不过是为了解决 疑难问题和扩展而存在的.
2.中午时间留在班级里,是和同学们交流的最佳时间,所以中午少睡或不睡.
3.足够的睡觉是以上的前提,12点之前入睡,7点左右醒来最好.