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

自动打开。

智慧旅游解决方案利用云计算、物联网和移动互联网技术,通过便携终端设备,实现对旅游资源、经济、活动和旅游者信息的智能感知和发布。这种技术的应用旨在提升游客在旅游各个环节的体验,使他们能够轻松获取信息、规划行程、预订票务和安排食宿。智慧旅游平台为旅游管理部门、企业和游客提供服务,包括政策发布、行政管理、景区安全、游客流量统计分析、投诉反馈等。此外,平台还提供广告促销、库存信息、景点介绍、电子门票、社交互动等功能。 智慧旅游的建设规划得到了国家政策的支持,如《国家中长期科技发展规划纲要》和国务院的《关于加快发展旅游业的意见》,这些政策强调了旅游信息服务平台的建设和信息化服务的重要性。随着技术的成熟和政策环境的优化,智慧旅游的时机已经到来。 智慧旅游平台采用SaaS、PaaS和IaaS等云服务模式,提供简化的软件开发、测试和部署环境,实现资源的按需配置和快速部署。这些服务模式支持旅游企业、消费者和管理部门开发高性能、高可扩展的应用服务。平台还整合了旅游信息资源,提供了丰富的旅游产品创意平台和统一的旅游综合信息库。 智慧旅游融合应用面向游客和景区景点主管机构,提供无线城市门户、智能导游、智能门票及优惠券、景区综合安防、车辆及停车场管理等服务。这些应用通过物联网和云计算技术,实现了旅游服务的智能化、个性化和协同化,提高了旅游服务的自由度和信息共享的动态性。 智慧旅游的发展标志着旅游信息化建设的智能化和应用多样化趋势,多种技术和应用交叉渗透至旅游行业的各个方面,预示着全面的智慧旅游时代已经到来。智慧旅游不仅提升了游客的旅游体验,也为旅游管理和服务提供了高效的技术支持。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值