2.4.1 Maven 下载安装, 核心功能, 仓库, 工程结构, 常用命令和插件, 生命周期, idea创建java,web工程, tomcat发布web工程的方式
目录
Maven
一 Maven简介
1.1 Maven是什么?
1.2 Maven能解决什么问题
1.3 Maven的两个核心功能【重点】
1.3.1 依赖管理
1.3.2 项目构建
二 Maven安装和使用
2.1 Maven下载和安装
2.2 Maven仓库【重点】
2.2.1 Maven仓库的分类
2.2.2 Maven本地仓库的配置
2.2.3 Maven仓库国内镜像配置
2.3 Maven坐标和依赖
2.4 Maven工程的结构【重点】
三 Maven生命周期和插件
3.1 Maven常用命令和插件
1)clean 2)compile 3)test 4)package 5)install 6)deploy
3.2 生命周期
四 IDEA创建Maven工程【重点】
4.1 IDEA配置本地Maven环境(全局…)
4.2 IDEA创建工程
① java工程
② web工程【重点】
③ 注意
4.3 发布web工程
① idea使用外置tomcat运行【重点】
② idea使用maven内置tomcat插件【了解】
4.4 依赖范围
Maven 一 Maven简介 1.1 Maven是什么?
Maven 翻译为”专家”、”内行”,是 Apache 下的一个纯 Java 开发的开源项目。 一个对 Maven 比较正式的定义是这么说的: Maven 是一个项目管理工具,它包含了一个项目对象模型,一组标准集合,一个项目生命周期,一个依赖管理系统,和用来运行定义在生命周期阶段中插件目标的工具。
1.2 Maven能解决什么问题
可以用更通俗的方式来说明。我们知道,项目开发不仅仅是写写代码而已,期间会伴随着各种必不可少的事情要做,下面列举几个感受一下:
1. 我们需要引用各种jar包,尤其是比较大的工程,引用的jar包往往有几十个乃至上百个,每用到一种jar包,都需要手动引入工程目录,而且经常遇到各种让人抓狂的jar包冲突,版本冲突。
2. 我们写好的java文件,需要通过javac编译成class文件才能交给JVM运行。这项工作可以由各种集成开发工具帮我们完成 Eclipse、IDEA 等都可以将代码即时编译。
3. 世界上没有不存在 bug 的代码,因此写完了代码,我们还要写一些单元测试,然后一个个的运行来检验代码质量。
4. 项目中往往还需要把代码与各种配置文件、资源整合到一起,进行打包。如果是 web 项目,还需要将之发布到服务器 。
试想,如果现在有一种工具,可以把你从上面的繁琐工作中解放出来,能帮你构建工程,管理 jar包,编译代码,还能帮你自动运行单元测试,打包,生成报表,甚至能帮你部署项目,生成 Web 站点,你会心动吗? Maven 就可以解决上面所提到的这些问题。
1.3 Maven的两个核心功能【重点】 1.3.1 依赖管理
![](https://www.0419af.com/wp-content/uploads/2023/02/1675300425-46a309f1022ff0c.png)
![](https://www.0419af.com/wp-content/uploads/2023/02/1675300427-46a309f1022ff0c.png)
仓库如何存放jar包?
![](https://www.0419af.com/wp-content/uploads/2023/02/1675300429-46a309f1022ff0c.png)
1.3.2 项目构建
二 Maven安装和使用 2.1 Maven下载和安装
2.2 Maven仓库【重点】 2.2.1 Maven仓库的分类
2.2.2 Maven本地仓库的配置
指定自定义本地仓库
2.2.3 Maven仓库国内镜像配置
修改 maven 根目录下的 conf 文件夹中的 setting.xml 文件,在 mirrors 节点上,添加内容如下:
alimaven aliyun maven http://maven.aliyun.com/nexus/content/groups/public/ central
2.3 Maven坐标和依赖
想要只用哪个jar包,通过坐标方式进行依赖引入…
2.4 Maven工程的结构【重点】
传统的javaweb工程遇到的问题
三 Maven生命周期和插件 3.1 Maven常用命令和插件
我们可以在 cmd 中通过一系列的 maven 命令,来对我们的工程进行清理、编译、测试、打包、安装、部署。
1)clean
maven工程的清理命令,执行clean会删除target目录及内容。
2)compile
maven工程的编译命令,作用是将 src/main/java 下的文件编译为class文件输出到target目录下。
3)test
maven工程的测试命令,作用是执行 src/test/java 下单元测试类,并编译为class文件。
4)package
maven工程的打包命令,对于java工程执行package打成jar包,对于web工程打成war包。
注意:为什么maven_hello是war包而不是jar包呢?
5)install
maven工程的安装命令,执行install将mave工程打成jar包或war包,并发布到本地仓库。
6)deploy
maven工程部署命令,将jar或war包部署(上传)到私服中。
3.2 生命周期
maven 对项目构建过程分为“三套相互独立的”生命周期,这三套生命周期分别是:
四 IDEA创建Maven工程【重点】 4.1 IDEA配置本地Maven环境(全局…)
我们在IDEA创建maven工程默认从互联网在下载一个骨架(但是我们电脑没有联网,就会卡顿一段时间,再使用本地骨架),我们可以直接指定IDEA查找本地骨架,效率提升
-DarchetypeCatalog=internal -Dfile.encoding=GB2312
4.2 IDEA创建工程 ① java工程
手动创建test测试配置文件目录
指定maven环境的jdk版本和字符集
org.apache.maven.plugins maven-compiler-plugin 3.1 1.8 1.8 UTF-8
maven工程命令操作
如何导入依赖
maven的搜索仓库: