今天上午满课,晚上七点开始进行javaweb的学习,今天学习时间为两个半小时。今天比较浪费时间就是maven的下载与配置,虽然jdk已经安装成功,但是maven还是失败。最后自己发现是环境变量的目录出现了问题。
顺便学了一下Maven 的一个核心特性就是依赖管理。
当我们涉及到多模块的项目(包含成百个模块或者子项目),管理依赖就变成一项困难的任务。Maven 展示出了它对处理这种情形的高度控制。
传统的 WEB 项目中,我们必须将工程所依赖的 jar 包复制到工程中,导致了工程的变得很大。
maven工程中不直接将 jar包导入到工程中,而是通过在 pom.xml 文件中添加所需jar包的坐标。
这样就很好的避免了 jar 直接引入进来, 使工程变大。
在需要用到 jar 包的时候,再通过pom.xml文件中的坐标
到一个专门用于”存放 jar 包的仓库”(maven 仓库)中根据坐标从而找到这些 jar 包拿去运行。
而且过程并不需要担心 到仓库中找到 jar 包这样会影响程序性能:
maven 中也有索引的概念,通过建立索引,可以大大提高加载 jar 包的速度,
使得我们认为 jar 包基本跟放在本地的工程文件中再读取出来的速度是一样的。
本地仓库:
存放在本地服务器中,当运行项目的时候,maven会自动根据配置文件查找本地仓库,再从本地仓库中调用jar包使用。
远程仓库(私服):
当本地仓库中没有项目所需要的jar包时,那么maven会继续查找远程仓库,一般远程仓库指的是公司搭建的私有服务器,也叫私服;
当jar包在私服中查找到之后,maven会将jar包下载到本地仓库中,下次使用的时候就不用再去找远程仓库。
中央仓库:
当远程仓库获取不到jar包时,就需要到中央仓库去查找,并下载在远程仓库中,本地仓库再从远程仓库中下载回来使用。