目录
1. Maven 基础知识
1.1 Maven 介绍
Maven 是一个跨平台的 项目管理工具,主要作用是在项目开发阶段对 Java 项目进行依赖管理和项目构建。
依赖管理:是对 jar 包的管理。通过导入 maven 坐标,就相当于将仓库中的 jar 包导入了当前项目中。
项目构建:通过 maven 的一个命令就可以完成项目从清理、编译、测试、报告、打包,部署整个过程。
1.2 Maven软件的下载与安装
使用 Maven 管理工具,我们首先要到官网去下载它的安装软件。
Maven 下载后,将 Maven 解压到一个没有中文没有空格的路径下,比如:H:\software\maven 下面。 解压后目录结构如下:
bin:存放了 maven 的命令
boot:存放了一些 maven 本身的引导程序,如类加载器等
conf:存放了 maven 的一些配置文件,如 setting.xml 文件
lib:存放了 maven 本身运行所需的一些 jar 包
Maven环境变量配置
1) 配置 MAVEN_HOME ,变量值就是你的 maven 安装的路径(bin 目录之前一级目录)
2) 将MAVEN_HOME 添加到Path系统变量
Maven 软件版本测试
通过 mvn -v命令检查 maven 是否安装成功,看到 maven 的版本为 3.6.3 及 java 版本为 jdk-11 即为安装 成功。 打开命令行,输入 mvn –v命令。
1.2 Maven 的仓库类型
本地仓库:位于自己计算机中的仓库, 用来存储从远程仓库或中央仓库下载的插件和 jar 包,
远程仓库:
1. Maven 中央仓库(http://mvnrepository.com/)
2. Maven 私服(公司局域网内的仓库,需要自己搭建)
3. 其他公共远程仓库(例如 apache 提供的远程仓库,https://repo.maven.apache.org/maven2/)
本地仓库 ---> maven 私服 --> maven 中央仓库
1.2.1 Maven 本地仓库的配置
1) maven仓库默认是在 C盘 .m2 目录下,我们不要将仓库放在C盘,所以这里要重新配置一下.
2) 下载一个本地仓库,将 “repository.rar”解压至自己的 电脑上,我解压在 H:\software\repository 目录下(注意最好放在没有中文及空格的目录下)。
3) 在maven安装目录中,进入 conf文件夹, 可以看到一个 settings.xml 文件中, 我们在这个文件中, 进行本地仓库的配置
4) 打开 settings.xml文件,进行如下配置如下:
1.2.2 阿里云远程仓库配置
Maven默认的远程仓库是在国外, 所以下载jar包时速度会非常慢, 这里推荐大家使用阿里云仓库
1) 打开 settings.xml,找到 <mirrors> 标签 , 下面的内容复制到 <mirrors> 中 即可
<mirror>
<id>alimaven</id>
<name>aliyun maven</name>
<url>
http://maven.aliyun.com/nexus/content/groups/public/
</url>
<mirrorOf>central</mirrorOf>
</mirror>
1.3 创建Maven项目
1.3.1 IDEA中配置Maven
1) 打开IDEA 创建一个新的project
2) 起名为web_work
3) 首先打开IDEA 选择File --> Settings --> 搜素maven,就会看到如下界面
4) 修改默认配置配置
1.3.2 创建Maven工程
在IDEA中配置好maven后, 接下来我们使用maven去快速的去构建一个 JavaWeb项目
1) project创建好以后, 选择创建module
2) 选中创建一个 maven 工程
3) 点击 Next填写项目信息,并进行一下修改
4) 创建好的工程,长这个样子
Maven目录说明:
src/main/java —— 存放项目的.java 文件 src/main/resources —— 存放项目资源文件,如数据库的配置文件 src/test/java —— 存放所有单元测试.java 文件,如 JUnit 测试类 target —— 项目输出位置,编译后的class 文件会输出到此目录 pom.xml ——maven 项目核心配置文件
1.3.3 Maven工程改造
当前创建的maven项目是一个 普通的Java项目,不是web项目,我们要进行一下改造
1) 在main目录下创建一个webapp文件夹
2) 选择 project Structure ---> facets---> 点击+号 添加web ---> 选择当前工程hello_maven