JavaWeb - Maven (2/8):概述 - 介绍与安装(步骤、具体操作、测试)
目录
介绍
安装
步驟
具体操作
测试
主要讲解两个方面:Maven的介绍以及Maven的安装。
先来介绍一下没问当中的一些概念和模型。
介绍
- Apache Maven是一个项目管理和构建工具,它基于项目对象模型(POM:project object model)的概念,通过一小段描述信息来管理项目的构建。
- 作用:
- 方便的依赖管理
- 统一的项目结构
- 标准的项目构建流程
- 官网:Maven – Welcome to Apache Maven
Maven 的官网详细描述了 Maven 是一款什么样的工具及其核心特点。了解了 Maven 之后,还需了解其模型。
模型
看一幅图,Maven 由三个部分组成。
- 第一部分是在项目构建的各个阶段提供各种插件,通过编译插件可对项目进行编译,通过测试插件进行测试,通过打包插件进行项目打包等,执行这些操作时不同阶段会有不同文件产生,如编译阶段有编译后的代码文件,打包阶段有打包后的jar文件,这些文件放在 target 目录下。这部分通过各种插件完成项目的标准化构建。
- 第二部分是 Maven 的核心功能 —— 项目对象模型。可以通过 pom.xml 文件中的配置信息描述项目,比如准备的项目在 pom.xml 文件中最上面的描述信息,包括项目的模块名称和版本等,这三项信息称为项目的坐标,可唯一标识和定位一个项目。如果项目还需要依赖其他资源,可以在 pom.xml 文件中通过依赖管理模型(Dependency)标签指定依赖的坐标。Maven 会自动从仓库中查找依赖,先从本地仓库查找,如果本地仓库没有,就连接*仓库查找并下载到本地仓库,然后关联本地仓库中的依赖。
仓库:用于存储资源,管理各种jar包。
- 本地仓库:自己计算机上的一个目录。
- *仓库:由Maven团队维护的全球唯一的。仓库地址:Central Repository:
- 远程仓库(私服):一般由公司团队搭建的私有仓库。
Maven 涉及三个仓库,本地仓库是在本地电脑上存放从*仓库下载下来的 Java 包的目录;
*仓库是 Maven 核心团队维护的全球唯一仓库,包含全世界所有对外发布的 Java 包;
为了提高下载速度,可以引入公司团队自己搭建的私服仓库,当在 pom.xml 文件中引入一个依赖时,先查本地仓库,没有时,再查私服,私服也没有就连接*仓库下载到私服再到本地仓库。
在安装 Maven 时会使用阿里云的私服提高下载速度。
安装
步驟
介绍完 Maven 的模型后,讲解 Maven 的安装。Maven 是绿色版软件,官方提供的安装包是 ZIP 包。安装及配置 Maven 主要进行四步操作:
安装步骤:
①、解压 apache-maven-3.6.1-bin.zip 。
②、配置本地仓库:修改conf/settings.xml中的<localRepository>为一个指定目录。
//示例
<localRepository>E:\develop\apache-maven-3.6.1\mvn_repo</localRepository>
③、配置阿里云私服:修改conf/settings.xml中的<mirrors>标签,为其添加如下子标签:
<mirror>
<id>alimaven</id>
<name>aliyun maven</name>
<url>http://maven.aliyun.com/nexus/content/groups/public/</url>
<mirrorOf>central</mirrorOf>
</mirror>
④、配置环境变量:MAVEN_HOME为maven的解压目录,并将其bin目录加入PATH环境变量。
具体操作
- 第一步,将 ZIP 包解压,这就完成了 Maven 的安装。
- 第二步,配置 Maven 的本地仓库。在本地电脑上指定一个目录作为本地仓库,用来存放从*仓库下载的 Java 包。
具体操作是打开 Maven 的配置文件(conf 目录下的 settings.xml 文件),找到指定本地仓库的标签(Local Repository),将其注释内容复制出来,
在 Maven 解压目录下新建一个文件夹作为本地仓库目录,命名为 “mvn_repo”,然后将文件夾地址粘贴回配置文件中指定本地仓库地址。
- 第三步,配置阿里云私服提高 Java 包下载速度。在 Maven 的配置文件(也是conf 目录下的 settings.xml )中的 mirrors 标签中配置阿里云的私服地址,将准备好的阿里云私服地址复制过来粘贴到这里。
- 第四步,配置环境变量。
为了在任意目录下都能执行 Maven 的指令,配置一个环境变量为 “Maven 目录”(指 Maven 的解压目录),并将 Maven 目录下的 bin 目录加入到 PATH 环境变量中。
具体操作是先复制 Maven 的安装目录,在 “此电脑” 上点击属性,再点击高级系统设置,打开后点击环境变量,新建一个 “Maven 目录” 的环境变量,将 Maven 的安装目录复制到这里,
示例:
然后在 PATH 环境变量中点击新建,输入 “% Maven 目录 %\bin”,将 Maven 安装目录下的 bin 目录加入到环境变量当中。
测试
完成 Maven 的安装及配置后,可以验证 Maven 是否安装成功。
在命令行中输入 “mvn -v” 查看 Maven 的版本,如果能看到版本号,说明 Maven 已安装配置成功。
同时需要说明,Maven 运行依赖于 JDK 的环境,这里采用 JDK17 版本.
不过,在后续的学习中,不管是外部开发还是项目阶段都基于 JDK11 版本讲解,JDK11 也是企业项目开发的主流版本。如果本地没有安装 JDK11 版本,需安装并将环境变量切换到 JDK11 版本。
END
学习自:黑马程序员——JavaWeb课程
推荐阅读
-
JavaWeb - Maven (2/8):概述 - 介绍与安装(步骤、具体操作、测试)
-
RCWL-0516/RCWL-9196模块简介 & 微波感应模块简介-前言 RCWL-0516是一款由无锡日晨物联科技有限公司开发的微波感应模块(资料下载),见图0.0、图0.1,用于检测物体(人体)移动,具有以下特征: 1.穿透感应:可穿透适当厚度的玻璃、木板以及墙壁。 2.抗干扰:不受温度、灰尘等环境因素影响。 3.感应距离:5~8m(可调,见后文) 4.可重复触发、触发时间可调(见后文) 5.工作电压:3.3~18V 6.稳压输出:提供3.3V电压输出(最大100mA) 7.夜晚自动工作:外接光敏电阻和一个电阻实现 当模块检测到物体在感应范围内移动时,OUT引脚输出一段时间的高电平(该时间可通过电容“C-TM”调节,见后文);若在输出高电平期间再次检测到物体移动,高电平持续时间将延长一段时间(又称为重复触发),该时间不可叠加。 模块使用的注意事项如下,示意图见图0.2: 1. 感应面正前方不能有金属遮挡。 2. 感应面前后方预留2cm以上空间。若对灵敏度要求很高,应预留4cm以上距离,且模块后方遮挡空间应尽可能小。 3. 模块与安装载体平面尽可能平行。 4. 有元器件面为正感应面,反面为负感应面,负感应面效果略差。 5. 相同模块,单个个体之间间距应大于2m。 图0.0-模块实物图(正) 图0.1-模块实物图(反) 图0.2-感应区域示意图 原理 关于此模块的原理,有2种主流观点,这些观点所争论的焦点在于哪种解释是最主要的: 1. 以Roger Clark为代表的“反射”解释:模块上的振荡器会发射出微波信号,位于模块感应区域内的物体会反射模块所发出的微波信号,这些反射信号又被模块所接收,接收到的反射信号会改变流经晶体管发射极的电流I。外界环境不变的情况下,模块内部的调节电路会稳定振荡器,此时振荡器处于稳定状态,电流I也处于稳定;当外界环境发生变化(例如,有物体进入感应区域),该物体的反射信号会使振荡器暂时失去稳定,从而导致电流I发生变化。模块通过检测该电流I的变化,以检测物体移动。此过程中,发射频率的变化只是由于振荡器受反射信号影响而进入一个“暂稳态”所导致。 2.以Joe Desbonnet为代表的“多普勒效应”解释:位于模块感应区域内的物体会反射模块所发出的微波信号,这些反射信号的频率由于物体移动而发生改变(多普勒效应)。模块通过对比发射与反射频率的差异,以判断是否有物体进入感应区域。 应用 降低感应距离:模块背面丝印“R-GN”处添加1MΩ的电阻,模块的感应距离可降低到5m;如果不接,感应距离为7m。 调节触发时间:模块背面丝印“C-TM”处添加不同容值的电容,可以调节触发时间(“C-TM”电容容值的选择见后文);若不安装电容,触发时间为2~4s。 夜晚自动工作:模块正面丝印“CDS”处添加光敏电阻、模块背面丝印“R-CDS”处添加适当阻值的电阻,可控制模块在夜晚自动工作。“CDS”与“R-CDS”的选择方法见后文。 以上应用的实际电路请参考图1.0、图1.1。 图1.0-测试电路(正) 图1.1-测试电路(反) 测试 测试由5部分组成: 1.测量模块处于不同状态时的功耗,见表0.0。 2.未接入电阻“R-GN”时,测试模块最大感应距离,见表0.1。 3.接入电阻“R-GN”,测试模块最大感应距离,见表0.2。 4.以下步骤将介绍如何根据确定的光敏电阻“CDS”,选择电阻“R-CDS”的阻值,以实现模块夜间自动工作的功能。 1-白天,接入可调电阻“R-CDS”(推荐2MΩ)、光敏电阻“CDS”。 2-触发模块后(在模块面前走动),调节可调电阻,直到触发消失。再次尝试触发模块,正常情况下,模块应该无法被触发(如果可以触发,重复步骤2)。 3-将光敏电阻感光面遮住,尝试触发模块,正常情况下,模块应该可以被触发(如果无法触发,重复步骤3)。 4-此时可调电阻阻值即为电阻“R-CDS”的正确阻值。 5.电容“C-TM”分别接入不同容值的无极电容,测试模块单次触发所持续的时间,见表0.3。 测试条件 总电流(mA) 总功耗(mW) +5V供电电压,模块未触发 3.63 18.15 +5V供电电压,模块被触发 4.33 21.65 表0.0-模块功耗信息 正面最大感应距离(M) 6 反面最大感应距离(M) 2 表0.1-未接入电阻“R-GN”时,模块最大感应距离[1] 正面最大感应距离(M) 5 反面最大感应距离(M) 1 表0.2-接入电阻“R-GN”=1MΩ时,模块最大感应距离[1] 电容“C-TM”容值 悬空 103(10nF) 104(100nF) 224(220nF) 474(470nF) 105(1uF) 理论单次触发时间(s) 2~4 6 30 66 140 300 实际单次触发时间(s) 3 6 32 67 122 210 表0.3-电容“C-TM”容值 vs. 模块单次触发持续时间 结论 RCWL-0516是一款性价比高的人体感应模块,具有以下优缺点: 优点: