github地址
https://github.com/a18792721831/studyMaven.git
文章列表:
Maven最全知识
[INFO] Generating project in Batch mode
Maven项目的目录结构
Maven仓库解析
Maven pom.xml解析
MVN命令与生命周期
Maven私有仓库的搭建和使用
Maven依赖
1. Maven介绍
1.1 什么是Maven
Maven:一个用于自动化构建项目和管理项目依赖的工具。
来源于百度百科
自动化构建项目:按照企业中主流的项目模板,创建完善的项目结构。
管理项目依赖:配置式添加和管理,自动下载和导入。
正常情况下,我们创建一个项目,项目中用到的jar包都需要自己下载下来,然后手动导入到工程中,然后在工程中才能使用这些jar包,从而避免我们自己重复写轮子。
spring–hello~!(如何搭建一个spring项目)
这些都需要手动导入需要jar包,但是这样就存在一些问题:
- 手动下载、管理、导入依赖
- 代码或者说项目与IDE与开发者的环境有相关性
- 操作繁琐,不易操作
所以,一个自动化构建项目,和管理项目依赖的工具就非常的有必要性。
1.2 为什么要使用Maven
在1.1中,我们知道了,有一个自动构建,自动处理依赖的工具,是非常有用的。那么,自动化构建,自动处理依赖的工具,也有很多,不仅仅只有Maven,还有Gradle等等。可能还有一些其他的,只不过可能比较少接触到。
目前为止,我目前接触到的自动化构建和管理依赖的工具,有Maven和Gradle。
如果是简单的自动化构建项目,和管理依赖,这两个其实都非常的简单,没有什么难度。
只是,在更高深的地方有一些差异:
Maven | Gradle |
---|---|
xml | Groovy |
插件多 | 可以自己写操作 |
不灵活 | 进阶难度高 |
因为Maven是使用xml的方式进行配置,而Gradle是使用Groovy语言进行配置。所以,Gradle的灵活性上可能不如Maven。
但是,也基于Maven使用xml的方式进行配置,所以 ,学习的难度上要比Gradle更加简单,毕竟想要学习高阶的Gradle,那么Groovy语言是绕不过的门槛。
所以,Gradle高阶的难度比较高。
因为Maven使用xml进行配置,所以,如果想要定制化一些自己的操作,一般是创建自己的插件,然后在项目中使用,而Gradle是使用Groovy语言进行配置,而Groovy语言是一门编程语言,所以一些简单的,小的操作,自定义的操作,完全可以用几行Groovy代码就搞定了。前提是你要会写Groovy的代码。
基于以上种种原因,目前Maven正在逐步走向淘汰,更多的使用Gradle,而Gradle的基本的思想和理念也和Maven相同,甚至Maven项目和Gradle项目可以很轻松的互转。
2. Maven入门
2.1 Maven环境的搭建
第一步:java环境
Maven主要是构建java为主的项目,所以,Maven环境是基于Java环境的,在搭建Maven环境前,首先需要保证自己有一个版本不是非常低的java环境。
我的java环境是jdk8的java环境。保证就Java相关的环境是可用的。
第二步:下载Maven
从Maven官网下载Maven.
解压压缩包:
解压后的目录如下
第三步:配置环境变量
Maven有三个大的版本:1,2,3
在1中主要配置MAVVENN_HOME
环境变量
在2中主要配置M2_HOME
环境变量
在3中主要配置PATH
环境变量
当然,你要全部都配置上去,也是没有问题的。
我们拷贝Maven解压文件夹中bin目录的地址,然后在系统的环境变量中增加这个路径(系统的环境变量如何配置请网上查找即可)。
打开命令行,输入mvn命令有反应,那么Maven环境就算配置完成了。
MAVEN_HOME
环境变量的值是通过bin目录下mvn程序相对路劲进行查找的。
所以MAVEN_HOME
如果想要配置,配置到Maven解压目录即可。
2.2 Maven项目的创建
创建模块
首先打开idea,然后配置idea中的maven。
然后创建项目:
接着配置一些版本信息(创建的项目的版本)
接着展示最终的信息,这个信息主要是用于确认,是否和预期一致。
点击finish后,就开始自动下载数据。需要访问外网(我自己挂着vpn)
等待一会就完成了
Maven已经自动创建相关的目录。
但是这个自动创建的项目,目前已有的依赖非常有限,只有两个:
其中jdk11是project的版本,新创建的moduel是jdk8.
增加依赖
我们需要的依赖肯定不只只是这两个,所以,我们就需要在网上寻找我们需要的依赖。
打开Maven官方搜索网站搜索我们需要的依赖。
搜索servlet-api
找到最新版,然后拷贝Maven版本的依赖
这个网站支持各种各样的自动化构建工具,比如Gradle,Groovy,Scala等等。
然后复制到我们新创建的模块下的pom.xml中的dependencies
下
拷贝完成后,需要我们指定依赖范围:
报异常是因为本地没有这个版本,还未下载,所以接着点击按钮,刷新依赖
刷新完成后,就不在报异常了
接下来增加jsp的依赖
刷新完成后所有的依赖就全部搞定了。
配置插件
我们虽然将依赖引入了,但是还缺少一些插件。
同样的,在Maven官方插件搜索
但是像其中一些常用的,默认就已经加入了
我们主要是想增加tomcat的插件
点击tomcat后,会展示支持的版本
我们选择最新的版本
点进入后会看到这个版本的tomcat插件使用的一些要求,以及相关的插件配置代码
我们使用tomcat7就够了
然后刷新
运行项目
第一种,使用命令运行
创建Maven命令的方式运行:
点击运行或者调试
第一次运行会下载一些相关的数据,下载完成后,就会将容器启动成功
接着访问url,验证是否启动成功
浏览器访问成功
这个Hello World就是项目中index.jsp中的内容
第二次运行就不在重新下载数据了
第二种,使用本地tomcat运行
运行或者调试
自动打开。