Maven入门

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:一个用于自动化构建项目和管理项目依赖的工具。

image-20201017125256152

来源于百度百科

自动化构建项目:按照企业中主流的项目模板,创建完善的项目结构。

管理项目依赖:配置式添加和管理,自动下载和导入。

正常情况下,我们创建一个项目,项目中用到的jar包都需要自己下载下来,然后手动导入到工程中,然后在工程中才能使用这些jar包,从而避免我们自己重复写轮子。

spring–hello~!(如何搭建一个spring项目)

springMVC-hello

这些都需要手动导入需要jar包,但是这样就存在一些问题:

  1. 手动下载、管理、导入依赖
  2. 代码或者说项目与IDE与开发者的环境有相关性
  3. 操作繁琐,不易操作

所以,一个自动化构建项目,和管理项目依赖的工具就非常的有必要性。

1.2 为什么要使用Maven

在1.1中,我们知道了,有一个自动构建,自动处理依赖的工具,是非常有用的。那么,自动化构建,自动处理依赖的工具,也有很多,不仅仅只有Maven,还有Gradle等等。可能还有一些其他的,只不过可能比较少接触到。

目前为止,我目前接触到的自动化构建和管理依赖的工具,有Maven和Gradle。

如果是简单的自动化构建项目,和管理依赖,这两个其实都非常的简单,没有什么难度。

只是,在更高深的地方有一些差异:

MavenGradle
xmlGroovy
插件多可以自己写操作
不灵活进阶难度高

因为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相关的环境是可用的。

image-20201017131552672

第二步:下载Maven

Maven官网下载Maven.

image-20201017131747515

解压压缩包:

image-20201017131920009

解压后的目录如下

image-20201017131956296

第三步:配置环境变量

Maven有三个大的版本:1,2,3

在1中主要配置MAVVENN_HOME环境变量

在2中主要配置M2_HOME环境变量

在3中主要配置PATH环境变量

当然,你要全部都配置上去,也是没有问题的。

我们拷贝Maven解压文件夹中bin目录的地址,然后在系统的环境变量中增加这个路径(系统的环境变量如何配置请网上查找即可)。
image-20201017132505710

打开命令行,输入mvn命令有反应,那么Maven环境就算配置完成了。

MAVEN_HOME环境变量的值是通过bin目录下mvn程序相对路劲进行查找的。

所以MAVEN_HOME如果想要配置,配置到Maven解压目录即可。

2.2 Maven项目的创建

创建模块

首先打开idea,然后配置idea中的maven。

image-20201017150840705

然后创建项目:

image-20201017150934704

接着配置一些版本信息(创建的项目的版本)

image-20201017151049794

接着展示最终的信息,这个信息主要是用于确认,是否和预期一致。

image-20201017151117878

点击finish后,就开始自动下载数据。需要访问外网(我自己挂着vpn)

image-20201017151240006

等待一会就完成了

image-20201017151314419

Maven已经自动创建相关的目录。

image-20201017151339343

但是这个自动创建的项目,目前已有的依赖非常有限,只有两个:

image-20201017151520985

其中jdk11是project的版本,新创建的moduel是jdk8.

增加依赖

我们需要的依赖肯定不只只是这两个,所以,我们就需要在网上寻找我们需要的依赖。

打开Maven官方搜索网站搜索我们需要的依赖。

搜索servlet-api

image-20201017151930915

找到最新版,然后拷贝Maven版本的依赖

这个网站支持各种各样的自动化构建工具,比如Gradle,Groovy,Scala等等。

image-20201017152014860

然后复制到我们新创建的模块下的pom.xml中的dependencies

image-20201017152309868

拷贝完成后,需要我们指定依赖范围:

image-20201017152648273

报异常是因为本地没有这个版本,还未下载,所以接着点击按钮,刷新依赖

image-20201017152352491

刷新完成后,就不在报异常了

image-20201017152420907

接下来增加jsp的依赖

image-20201017152550261

刷新完成后所有的依赖就全部搞定了。

配置插件

我们虽然将依赖引入了,但是还缺少一些插件。

同样的,在Maven官方插件搜索

image-20201017153118448

但是像其中一些常用的,默认就已经加入了

image-20201017153200112

我们主要是想增加tomcat的插件

image-20201017153240677

点击tomcat后,会展示支持的版本

image-20201017153324155

我们选择最新的版本

点进入后会看到这个版本的tomcat插件使用的一些要求,以及相关的插件配置代码

image-20201017153422950

我们使用tomcat7就够了

image-20201017153538601

然后刷新

image-20201017154356745

运行项目

第一种,使用命令运行

创建Maven命令的方式运行:

image-20201017154613009

点击运行或者调试

image-20201017154711382

第一次运行会下载一些相关的数据,下载完成后,就会将容器启动成功

接着访问url,验证是否启动成功

image-20201017154858290

浏览器访问成功

image-20201017154933362

这个Hello World就是项目中index.jsp中的内容

image-20201017155007432

第二次运行就不在重新下载数据了

image-20201017155037277

第二种,使用本地tomcat运行

image-20201017155631967

image-20201017155657771

image-20201017155721334

image-20201017155731171

image-20201017155746867

image-20201017155912484

运行或者调试

image-20201017155931972

image-20201017160002003

image-20201017160008552

自动打开。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值