文章目录
maven的安装和配置
视频学习笔记:https://www.bilibili.com/video/BV12w4m1e75t?p=2&vd_source=7d9db5218a1232950d1d3727290b8283
1. 下载
下载地址: https://maven.apache.org/download.cgi
下载缓慢的解决办法:①科学上网提升网速 ②使用迅雷下载
然后在自己选择的文件夹下解压,如我将我下载的maven包放在了C盘的env文件下,解压选择“解压到当前文件夹”,然后在点击上面的文件路径位置,就会选中文件路径,复制,然后下一步配置环境变量。
2. 配置环境变量
环境变量路径查找参考:系统变量在哪
3. 验证配置
ctrl+R 输入cmd ; 然后在输入 mvn -v 显示版本就配置成功了
4. 配置国内的镜像仓库和本地仓库地址
使用vscode、sublime等文本编辑器打开settings.xml文件
然后找到mirrors标签,可以看到默认的maven中心仓库配置
在默认的上面添加国内的镜像地址(镜像获取从上到下),以及配置本地的仓库地址(本地仓库地址,可与自己创建一个文件夹然后在标签里面放上路径就行。如下:我在maven的文件夹中创建了一个repo文件作为本地仓库)
如下:
<!-- 配置国内的maven镜像仓库,默认配置有maven的中心仓库 -->
<mirrors>
<mirror>
<id>alimaven</id>
<name>aliyun maven</name>
<url>http://maven.aliyun.com/nexus/content/groups/public/</url>
<mirrorOf>central</mirrorOf>
</mirror>
<mirror>
<id>huaweicloud</id>
<mirrorOf>*</mirrorOf>
<url>https://mirrors.huaweicloud.com/repository/maven/</url>
</mirror>
</mirrors>
<!-- 本地仓库地址 -->
<localRepository>C:\env\apache-maven-3.9.8\repo</localRepository>
5. pom.xml文件 一些简单理解
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>zerodot</groupId>
<artifactId>redisPRO</artifactId>
<version>1.0-SNAPSHOT</version>
<!-- 统一版本控制 -->
<properties>
<maven.compiler.source>8</maven.compiler.source>
<maven.compiler.target>8</maven.compiler.target>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<!-- 依赖管理 -->
<dependencies>
<!--https://mvnrepository.com/artifact/redis.clients/jedis-->
<dependency>
<!-- 组织名/项目组名 -->
<groupId>redis.clients</groupId>
<!-- 项目或者组织名 -->
<artifactId>jedis</artifactId>
<!-- 版本 -->
<version>5.1.3</version>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
<!-- 依赖范围有哪些范围:
编译
测试
运行
打包 编译 测试 打包
test: × √ × junit
provided: √ √ × servlet
compile √ √ √ 默认
runtime × √ √ 反射
system 等于 provided 不使用maven仓库 使用本地路径的jar
-->
<scope>test</scope>
<optional>false</optional>
</dependency>
</dependencies>
<!-- 打包方式 默认是jar包 war包是包含web应用 -->
<packaging>war</packaging>
</project>
6. install 将项目(jar)安装到本地仓库
<scope>test</scope>:test 和provided 都不会传递
<optional>false</optional> 默认是 false 会传递 true 可以传递
### 主动排除第三方的依赖
##当前项目排除依赖
<exclusions>
<exclusion>
<groupId>redis.clients</groupId>
<artifactId>jedis</artifactId>
</exclusion>
</exclusions>
或者单独引入自己所需要的版本
7. maven 聚合
聚合项目的创建 选择
- 删除 src 目录 用户项目管理 不编写实际的代码
- 把pom文件中的war 改成pom
- 添加一个前台项目frontend模板在聚合项目的pom文件中加入,有几个项目就加几个module
<modules>
<module>frontend</module>
</modules>
- 这样子项目就可以直接父显示依赖,也可以在父项目打包时,一起打包子项目
8. maven的继承
8.1 依赖管理
在父项目中负责的管理的依赖可以被子项目继承
其中子项目的zerodot1.0-SNAPSHOT和可以被取代
<parent>
<groupId>zerodot</groupId>
<artifactId>parentMaven</artifactId>
<version>1.0-SNAPSHOT</version>
</parent>
- 如果是每个项目都需要的需要的依赖就放在父项目的中管理
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
</dependency>
</dependencies>
子项目不在需要添加依赖,自动配置和父项目一样的版本。
- 如果不是通用依赖可以在父项目中管理使用
<dependencyManagement>
<dependencies>
<dependency>
<groupId>com.github.xiaoymin</groupId>
<artifactId>knife4j</artifactId>
<version>4.4.0</version>
</dependency>
</dependencies>
</dependencyManagement>
管理依赖版本,然后在在子项目中添加依赖 但是可以不用加版本控制
然后在父项目pom文件中的
<properties>
<maven.compiler.source>8</maven.compiler.source>
<maven.compiler.target>8</maven.compiler.target>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
管理所有依赖的版本