引入: 在使用 mybatis 操作 jdbc 的过程中,能感觉到 jar 包的使用频繁起来,并且每次写新的项目,都需要去寻找需求的 jar 包,并且 jar 包的版本也需要自行对比匹配,管理非常麻烦,此时就需要一款新的框架帮助我们管理 jar 包
maven: 一款帮助我们实行 jar 包和项目管理以及自动构建:编译、测试、打包、发布的框架
定位:在 maven 框架中,jar 包的定位需要3个必要标签:groupId、artifactId、version
groupId: 包名
artifactId: 项目名
version: 版本号
下载地址:Maven – Download Apache Maven
安装:解压到无中文字符无空格的路径下
配置本地仓库:maven 根路径下 conf/setting.xml 在settings 标签中添加
E:/Software/apache-maven-3.6.3/repository
路径文件名自行新建文件夹即可
配置阿里仓库:在 miroors 标签内添加
alimaven aliyun maven http://maven.aliyun.com/nexus/content/groups/public/ central
创建maven项目:略
依赖:
使用dependency指定依赖:
javax.servlet javax.servlet-api3.1.0
另外,dependency标签还拥有另一个子标签:scope,主要功能为控制 jar 包的作用域
比较常用的三个作用域为 compile、test、provided
compile: 默认的作用域,作用于主程序、测试程序和编译文件。是最常用的作用域
test:作用于测试程序。使用在所有的测试工具,例如junit
provided:作用于主程序和测试程序。使用场景:假如某个jar包服务器自带了,就不需要部署到服务器,不需要他生效,例如 servlet
依赖的传递性:
当我们引用了一个 jar 包a,而 jar 包 a 本身 引用了 jar 包 b
那我们可以直接使用 jar 包 b,因为依赖具有传递性
剔除依赖:
当项目中引用或者因为依赖传递导致项目中有不同版本的 jar 包时,可能会导致 jar 包冲突,可以在引用的时候使用
org.example mavena1.0-SNAPSHOT mysql mysql-connector-java
在写聚合项目案例时遇到的一些问题:
1. 在完成项目生成在本地仓库时,一直报 程序包 xxx 不存在时,可以在文件夹项目根路径下按住SHIFT 键 + 鼠标右键,打开Powershell窗口,输入 mvn idea:idea 命令可以解决
2.有时会遇到 jar 包不能生效情况,可以试着删除jar 包重新下载即可



