- Maven
- 一、概述
- 1、简介
- 2、官网和仓库地址
- 3、仓库分类
- 5、坐标
- 6、依赖
- 7、目录分类
- 8、jar包和本地仓库对应关系
- 二、Maven下载与安装
- 1、官网下载地址
- 2、找到官网下载位置
- 3、解压下载的文件,解压后就就可以了,不需要安装(**注意:解压到非中文、没有空格的目录**)
- 三、Maven配置
- 1、核心配置文件,本地仓库配置
- 2、阿里云镜像仓库配置
- 3、配置JDK版本
- 4、环境变量配置
- 四、pom.xml文件解读
- 五、Maven命令(生命周期)
- 六、依赖
- 1、添加jar包依赖
- 2、依赖的范围配置 scope 标签
- 3、依赖的传递
- 4、依赖的排除
- 5、依赖的继承
- 6、聚合
- 七、IDEA配置Maven
- 八、创建Maven项目
- 1、父工程
- 2、子工程
- 2.1、创建Java工程
- 2.1、创建Web工程
- 方法一:直接选择Maven的webapp模板
- 方法二:创建普通Maven,然后pom.xml中添加war,Add Framework Suppor添加web
- 方法三:创建普通Maven,然后pom.xml中添加war,Project Structure的Factes
- 九、工程导入
- 十、模块导入
Maven 一、概述 1、简介
- Maven是用来自动下载jar包的工具
- Maven是用来管理jar包的工具
- Maven是用来构建项目的工具
- Maven官网:https://maven.apache.org/
- Maven仓库配置文件:https://mvnrepository.com/
- 中央仓库 / 远程仓库:本质上就是一个国外的网站
- 镜像仓库:其实就是一个国内的网站,人家从中央仓库下载好了jar包,你可以直接用
- 本地仓库:其实就是你自己定的一个文件夹的位置,用来存jar包的位置
通过Maven下载很多的jar包,唯一的定位到 jar 包的方式就是使用坐标
GroupId:公司或组织域名
ArtifactId:项目名称或项目中的一个模块
Version:版本号
Maven会自动下载并管理相关的jar
7、目录分类- 核心配置文件:setting.xml,D:Pathapache-mavenapache-maven-3.6.3confsettings.xml
- 本地仓库:自己定义的本地仓库路径,D:JavaMavenrepository
- 本地工作空间:自己创建的目录空间(很少使用),D:JavaMavenmaven_workspace
pom.xml的jar包
org.mybatis.spring.boot mybatis-spring-boot-starter 2.2.2
本地仓库
Maven本地仓库根目录orgmybatisspringbootmybatis-spring-boot-starter2.2.2
注意:坐标也是这样对应的
二、Maven下载与安装 1、官网下载地址
https://maven.apache.org/
2、找到官网下载位置 3、解压下载的文件,解压后就就可以了,不需要安装(注意:解压到非中文、没有空格的目录)
三、Maven配置 1、核心配置文件,本地仓库配置
- 到conf目录中,打开setting.xml文件
- 配置本地仓库路径(注意:非中文、没有空格的路径,把localRepository标签从注释中拿出来)
- 到conf目录中,打开setting.xml文件
- 在 mirrors 标签内配置,将多余的列子注释。
3、配置JDK版本ali ali Maven * https://maven.aliyun.com/repository/public/
- 到conf目录中,打开setting.xml文件
- 在 profiles 标签内配置,配置所需要的版本
4、环境变量配置jdk-1.8 true 1.8 1.8 1.8 1.8
- 查看Java环境变量配置,java -version
C:UsersShen-Childe>java -version java version "1.8.0_331" Java(TM) SE Runtime Environment (build 1.8.0_331-b09) Java HotSpot(TM) 64-Bit Server VM (build 25.331-b09, mixed mode)
- 配置MAVEN_HOME,找到maven目录
- 配置Path, %MAVEN_HOME%/bin 目录
- 查看 maven配置是否成功,mvn -v
C:UsersShen-Childe>mvn -v Apache Maven 3.6.3 (cecedd343002696d0abb50b32b541b8a6ba2883f) Maven home: D:Pathapache-mavenapache-maven-3.6.3bin.. Java version: 1.8.0_331, vendor: Oracle Corporation, runtime: C:Program FilesJavajdk1.8.0_331jre Default locale: zh_CN, platform encoding: GBK OS name: "windows 10", version: "10.0", arch: "amd64", family: "windows"
四、pom.xml文件解读
4.0.0 org.example daily_demo02 pom 1.0-SNAPSHOT 8 8 junit junit 4.13.2
五、Maven命令(生命周期)
- clean:清理,删除target目录
- compile:编译,主程序编译main
- test:测试,运行测试程序,测试报告在 target/surefire-reports
- package:打包,打包的结果 jar 包,存放到 target 目录
- install:安装jar包到本地仓库、生成pom文件、打包jar包,pom.xml和XXX.pom(名字改变,本质上是同一个文件)
- site:生成站点
- deploy:将最终的包复制到远程的仓库,让其它开发人员与项目共享或部署到服务器上运行(需要借助插件 cargo)
六、依赖 1、添加jar包依赖
- 修改pom.xml文件,使用dependencies标签,引入各种jar包
- 指定jar包的坐标,刷新,Maven会自动下载
- 检查本地仓库
3、依赖的传递compile test provided
- compile:B依赖C可以在传递
- test 或 provided:B依赖C不可以传递,明确配置才可以传递
jar 包的冲突,配置pom.xml文件,dependencies 标签中
5、依赖的继承junit junit 4.13.2 compile commons-logging commons-logging
- 父工程的依赖,子工程都可以使用
- 打包方式是pom的是父工程(pom.xml配置文件中 packaging 标签)
- 父工程管理其它子工程
- 指定父工程 parent 标签
- 指定子工程 module 标签
- 当子工程的 groupId 标签 和 version 标签 跟父亲一样,可以省略
- artifactId 标签 子工程保留不能省略
- 子工程的依赖版本和父工程的不同,子工程的依赖会覆盖父工程的依赖,正常情况版本是一样的
- 部分(模块)组成整体(项目)
- 依赖安装时只需一键安装 install ,项目的依赖安装后,模块的依赖也会安装(倒过来安装)
- 以下配置会自动生成,特殊情况下需要自己配置
day49
day49_2
daily_demo02
org.example
1.0-SNAPSHOT
七、IDEA配置Maven
找到Maven设置的位置,以下操作,避免了jar包自动下载到默认位置,占用系统空间
或者
创建Moule即可
直接创建一个普通Maven即可
D:JavaMavendaily_demo02day50_06 srcmainwebapp WEB-INFweb.xml
九、工程导入
修改maven配置即可
测试项目是否能正常运行
十、模块导入
复制模块到工程中
web添加一步,确认信息是否正确
试一下能不能正常运行



