1.昨日内容回顾 商城项目已完结,将在后面的项目实战中回顾。 Maven:项目管理工具。 管理jar包,管理项目 JDK必须先搭建 Maven环境变量:不能直接放在C盘。 %MAVEN_HOME%\bin
镜像配置:jar包都是从网上下载到本地仓库使用。 中央仓库在境外,速度特别慢。 一般会设置境内 镜像服务器
仓库配置:设置本地仓库位置
2.maven-part1 2.1简述及作用(1)
Maven:是一款优秀的项目管理工具。 作用: 项目构建管理(生命周期自动化) 依赖管理(针对jar包管理) 项目信息管理
2.2环境搭建(一次性配置)(1) 2.2.1安装及配置 解压压缩包到D盘根目录(注意尽量是某个盘符根目录,不要有中文,目录不要深)
只要不是C盘即可(因为C盘有管理员权限问题,没有管理员权限的同学,操作时,会导致maven更新jar包各种问题。)
如果没有C盘,自己插个U盘存maven
环境变量配置: 1、JDK必须先搭建环境(JAVA_HOME / PATH) 2、Maven环境变量(MAVEN_HOME/PATH) 3、测试:CMD窗口: mvn –v 查看是否有版本号出现。
处理同学问题集锦: Win10: 旗舰版、专业版都是允许的。 1、没有使用命令行,运行mvn -v 命令。 Win+R 输入cmd 敲回车,即可进入命令行 2、maven_home在path引用中加了空格
3、maven_home在path引用中多了个分号。 (win10最后一个键值不能加;)
本地仓库:保存了本地要使用的所有jar包。若本地没有某个jar包,maven会自动从网上下载,下载完毕,保存到本地仓库中。
如果没有设置本地仓库,maven自动设置本地仓库: 目录:用户目录/.m2/repository
2.2.2Idea的maven设置
2.2.3创建项目卡顿的解决方案
配置信息:
-DarchetypeCatalog=local,internal
2.3Maven-idea项目创建【阶段重点】 2.3.1创建javaSE项目(骨架版创建)
若构建项目失败: 1、检查maven环境是否正确配置到idea(若未配置,使用默认idea自带maven配置,自带的maven配置是访问老的中央仓库,导致访问失败:Bad Request 501)
2、本地仓库 jar包不完整导致 maven项目构建异常
![在这里插入图片描述](https://img-blog.csdnimg.cn/20210122211900406.png)
使用脚本遍历本地仓库,发现不完整的jar包,就整体删除。
Maven若发现不完整jar包,导入/构建失败。
Maven若发现jar包不存在,重新下载。
3、骨架不完整。
2.3.2创建WEB项目(骨架版创建)
Java目录:就是之前的src目录 Resource目录:存放之前src目录下所有的配置文件 web.xml需要替换成4.0 替换pom.xml文件
这里的搜索会优先搜索本地仓库,若本地仓库没有,就从外网中央/镜像仓库进行下载
Web执行方式2:
无法正常部署tomcat的解决方案:
1、声明前端web根目录位置
2、手动构建war包依赖
3.Maven-其他知识 3.1maven的仓库(了解)
Maven项目最终会从本地仓库中,引jar包。 若本地仓库不存在jar包,会从外网下载到本地仓库,再由本地仓库引入项目
远程仓库:需要通过网络连接的仓库。 中央仓库是远程仓库的一种,但因为境内没有服务器,访问速度慢,所以一般境内用户都是访问华为云、阿里云远程仓库。
从远程仓库下载文件时,若下载中断,会留下:lastUpdated 文件,该文件会导致下次使用时,文件不完整,无法引用,也无法下载最新jar包。 导致某个jar引用失败。 解决:清库脚本,进行清空,重新打开idea下载即可 若没有设置自动下载jar包,可以手动下载jar包:
3.2maven的概念模型(了解) 每个maven工程中都有一个pom.xml文件,定义工程所依赖的jar包、本工程的坐标、打包运行方式。(一个maven项目就是一个POM对象)
依赖管理模型,管理jar包时,是根据jar包的坐标,来引入某个jar包的
从本地仓库导入jar包:
Maven会先根据groupId在仓库中寻找文件夹(javax.activation) javax/activation
Maven会再根据artifactId在当前文件夹中寻找项目名(activation)
Maven最后根据version在当前文件夹中寻找版本号的目录(1.1)
最终进入目录,导入jar包
若本地没有该jar包,从远程仓库进行加载,加载流程和本地仓流程一模一样。
找到jar包后,会把jar包下载到本地仓库,供maven引用。
若远程仓库也没有,最终maven报错。
Jar包管理中,都是根据jar包的坐标进行jar包管理。
项目的生命周期:清理、初始化、编译、测试、报告 、打包、部署、站点生成 Maven自动化操作:只需要点击maven提供的插件
3.3maven的坐标
groupId:定义当前Maven项目名称(我们可以理解为包名) artifactId: 定义项目模块 (我们可以理解为项目名) version:定义当前项目的当前版本
如何查询某个jar包的坐标: https://mvnrepository.com/
打开详
将该版本坐标直接复制到pom.xml上即可
注意:坐标相同的情况不能出现,否则报错。
若自动下载失效:alt+insert,选择update maven indices 会自动更新本地仓库。 如果更新失败,先清库,再尝试这个流程即可
3.4maven创建自定义WEB项目(无骨架创建,适用于web项目创建失败的替代方案)【重点】