【JavaWeb】Day22.maven安装介绍

目录

一.初识Maven

什么是maven?

 Maven的作用

二.Maven概述

1. Maven介绍

2.Maven模型

3. Maven仓库

三. Maven安装

1.下载

 2. 安装步骤

1. 解压安装

2. 配置本地仓库

3.配置阿里云私服

4. 配置Maven环境变量


一.初识Maven

什么是maven?

Maven是apache旗下的一个开源项目,是一款用于管理和构建java项目的工具。

作用:

  • 方便的依赖管理
  • 统一的项目结构
  • 标准的项目构建流程 
  •  官网:Maven – Welcome to Apache Maven

补充:Apache 软件基金会,成立于1999年7月,是目前世界上最大的最受欢迎的开源软件基金会,也是一个专门为支持开源项目而生的非盈利性组织。 开源项目:Welcome to The Apache Software Foundation!

 Maven的作用

1. 依赖管理

当使用maven进行项目依赖(jar包)管理,则很方便的可以解决这个问题。 我们只需要在maven项目的pom.xml文件中更改版本号,其他依赖在联网下自动下载。

2. 统一项目结构

在项目开发中,当你使用不同的开发工具 (如:Eclipse、Idea),创建项目工程时,不同的开发工具项目结构不统一。若我们创建的是一个maven工程,是可以帮我们自动生成统一、标准的项目目录结构。

 

 3. 项目构建

maven提供了标准的、跨平台(Linux、Windows、MacOS) 的自动化项目构建方式。如果我们开发了一套系统,代码需要进行编译、测试、打包、发布,这些操作如果需要反复进行就显得特别麻烦,而Maven提供了一套简单的命令来完成项目构建。

编译打包后的文件将存在target文件中。

二.Maven概述

1. Maven介绍

Apache Maven是一个项目管理和构建工具,它基于项目对象模型(Project Object Model , 简称: POM)的概念,通过一小段描述信息来管理项目的构建、报告和文档。

2.Maven模型

  • 构建生命周期/阶段(Build lifecycle & phases)
  •  项目对象模型 (Project Object Model)
  •  依赖管理模型(Dependency)

1). 构建生命周期/阶段(Build lifecycle & phases)

 以上图中紫色框起来的部分,就是用来完成标准化构建流程 。当我们需要编译,Maven提供了一个编译插件供我们使用;当我们需要打包,Maven就提供了一个打包插件供我们使用等。

2). 项目对象模型 (Project Object Model)

 以上图中紫色框起来的部分属于项目对象模型,就是将我们自己的项目抽象成一个对象模型,有自己专属的坐标,如下图所示是一个Maven项目:

坐标,就是资源(jar包)的唯一标识,通过坐标可以定位到所需资源(jar包)位置

 3). 依赖管理模型(Dependency)

以上图中紫色框起来的部分属于依赖管理模型,是使用坐标来描述当前项目依赖哪些第三方jar包

之前我们项目中需要jar包时,直接就把jar包复制到项目下的lib目录,而现在书写在pom.xml文件中的坐标就需要Maven仓库找到所要的jar包文件。

3. Maven仓库

仓库:用于存储资源,管理各种jar包。 仓库的本质就是一个目录(文件夹),这个目录被用来存储开发中所有依赖(就是jar包)和插件

Maven仓库分为:

- 本地仓库:自己计算机上的一个目录(用来存储jar包)

- 中央仓库:由Maven团队维护的全球唯一的。仓库地址:Central Repository:

- 远程仓库(私服):一般由公司团队搭建的私有仓库

当项目中使用坐标引入对应依赖jar包后,首先会查找本地仓库中是否有对应的jar包

* 如果有,则在项目直接引用

* 如果没有,则去中央仓库中下载对应的jar包到本地仓库

如果还可以搭建远程仓库(私服),将来jar包的查找顺序则变为: 本地仓库 --> 远程仓库--> 中央仓库。

三. Maven安装

1.下载

下载地址:Maven – Download Apache Maven

 2. 安装步骤

Maven安装配置步骤:

1. 解压安装

建议解压到没有中文、特殊字符的路径下。解压缩后的目录结构如下:

  • bin目录 : 存放的是可执行命令。(mvn 命令重点关注)
  • conf目录 :存放Maven的配置文件。(settings.xml配置文件后期需要修改)
  • lib目录 :存放Maven依赖的jar包。(Maven也是使用java开发的,所以它也依赖其他的jar包)

2. 配置本地仓库

在自己计算机上新一个目录(本地仓库,用来存储jar包)

2.2、进入到conf目录下修改settings.xml配置文件

3.配置阿里云私服

由于中央仓库在国外,所以下载jar包速度可能比较慢,而阿里公司提供了一个远程仓库,里面基本也都有开源项目的jar包。

进入到conf目录下修改settings.xml配置文件:

在<mirrors>标签下为其添加子标签<mirror>,内容如下:

<mirror>
      <id>alimaven</id>
      <name>aliyun maven</name>
      <url>http://maven.aliyun.com/nexus/content/groups/public/</url>
      <mirrorOf>central</mirrorOf>
    </mirror>

注:  只可配置一个<mirror>(另一个要注释!) ,不然两个可能发生冲突,导致jar包无法下载!!!!!!!

4. 配置Maven环境变量

Maven环境变量的配置类似于JDK环境变量配置一样,在系统变量处新建一个变量MAVEN_HOME

MAVEN_HOME环境变量的值,设置为maven的解压安装目录

PATH环境变量的值,设置为:%MAVEN_HOME%\bin

打开DOS命令提示符进行验证,出现如图所示表示安装成功:mvn -v

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/497045.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

2024年数字IC秋招-复旦微电子-数字前端/验证-笔试题

文章目录 前言一、基础题/选做题1、什么是DMA&#xff0c;主要优点是什么&#xff0c;为什么这是它的优点2、SV的代码如下&#xff0c;给出$display中变量的值3、列出4bit格雷码编码&#xff0c;画出二进制码转格雷码电路图4、如何从慢时钟域捕获快时钟域脉冲信号&#xff0c;画…

行为管理设置能监控或者检测哪些东西

3 月 27 日&#xff0c;国新办举行“推动高质量发展”系列主题新闻发布会&#xff0c;浙江省省长王浩&#xff1a;全省市场经营主体 1040 万户&#xff0c;相当于平均每 6.5 个浙江人就有 1 个老板。 不由让小编想到&#xff0c;这么多老板&#xff0c;那么老板创办企业也怪不容…

蓝桥杯省三保底代码——数显+按键功能实现

目录 前言 一、为什么能保底省三 二、数显模块的实现 1.数码管显示​编辑 1&#xff09;断码表 2&#xff09;位选 3&#xff09;段选 4&#xff09;扫描 2.菜单 三、按键功能的实现 1.按键扫描 2.菜单切换 四、完整代码演示 五、结语 前言 上一期介绍全家桶时&…

【容器源码篇】Set容器(HashSet,LinkedHashSet,TreeSet的特点)

文章目录 ⭐容器继承关系&#x1f339;Set容器&#x1f5d2;️HashSet源码解析构造方法public HashSet()public HashSet(Collection<? extends E> c)public HashSet(int initialCapacity, float loadFactor)HashSet(int initialCapacity, float loadFactor, boolean dum…

OpenHarmony实战开发-Web组件的使用

介绍 本篇Codelab使用ArkTS语言实现一个简单的免登录过程&#xff0c;向大家介绍基本的cookie管理操作。主要包含以下功能&#xff1a; 获取指定url对应的cookie的值。设置cookie。清除所有cookie。免登录访问账户中心。 原理说明 本应用旨在说明Web组件中cookie的管理操作。…

蓝桥杯_day6

文章目录 不同路径不同路径II拿金币珠宝的最高价值 不同路径 【题目描述】 一个机器人位于一个 m x n 网格的左上角 &#xff08;起始点在下图中标记为 “Start” &#xff09;。 机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角&#xff08;在下图中标记为…

主成成分分析法

问题引入&#xff1a; 公司评价 假设你是一个公司的财务经理&#xff0c;掌握了公司所有数据&#xff0c;如:固定资产、流动资金、借贷的数额和期限、各种税费、工资支出、原料消耗、产值、利润、折扣、职工人数、分工和教育程度等等&#xff0c;你要如何选择关键因素进行汇报…

宝宝灯塔:成都辅助生殖市场研究,海外试管成热门

据宝宝灯塔网介绍&#xff1a;在成都的辅助生殖市场中&#xff0c;生殖医院一直是主体&#xff0c;它们提供专业的医疗服务和治疗&#xff0c;帮助不孕不育人群实现生育梦想。然而&#xff0c;随着科技的进步和市场的变化&#xff0c;互联网企业也开始涉足这一领域&#xff0c;…

盏燕生物科技将出席2024第七届燕窝天然滋补品博览会

参展企业介绍 深圳市盏燕生物科技有限公司&#xff0c;办公室地址位于中国第一个经济特区&#xff0c;鹏城深圳&#xff0c;深圳市龙岗区平湖街道禾花社区富安大道18号亚钢工贸大楼1栋1017A&#xff0c;我公司主要提供一般经营项目是&#xff1a;初级农产品、海产品、化妆品、…

低代码开发能用在哪些行业?

低代码开发平台&#xff08;Low code development platform&#xff09;是无需编码&#xff08;0代码&#xff09;或通过少量代码就可以快速生成应用程序的开发平台。通过可视化进行应用程序开发的方法&#xff0c;使具有不同经验水平的开发人员可以通过图形化的用户界面&#…

computed计算属性、watch侦听器、生命周期

计算属性 点击查看 Vue文档 基础语法 多次使用计算属性&#xff0c;计算属性方法也只执行一次&#xff0c; 调用计算属性的方法不能加() 直接修改计算数学的值 计算属性不能通过双向绑定修改&#xff08;默认不能改&#xff09; 想要修改计算属性&#xff0c;就必须使用计…

夜晚水闸3D可视化:科技魔法点亮水利新纪元

在宁静的夜晚&#xff0c;当城市的霓虹灯逐渐暗淡&#xff0c;你是否曾想过&#xff0c;那些默默守护着城市安全的水闸&#xff0c;在科技的魔力下&#xff0c;正焕发出别样的光彩&#xff1f;今天&#xff0c;就让我们一起走进夜晚水闸3D模型&#xff0c;感受科技为水利带来的…

包子凑数(蓝桥杯,闫氏DP分析法)

题目描述&#xff1a; 小明几乎每天早晨都会在一家包子铺吃早餐。 他发现这家包子铺有 N 种蒸笼&#xff0c;其中第 i 种蒸笼恰好能放 Ai 个包子。 每种蒸笼都有非常多笼&#xff0c;可以认为是无限笼。 每当有顾客想买 X 个包子&#xff0c;卖包子的大叔就会迅速选出若干笼…

计算机网络——29ISP之间的路由选择:BGP

ISP之间的路由选择&#xff1a;BGP 层次路由 一个平面的路由 一个网络中的所有路由器的地位一样通过LS&#xff0c;DV&#xff0c;或者其他路由算法&#xff0c;所有路由器都要知道其他所有路由器&#xff08;子网&#xff09;如何走所有路由器在一个平面 平面路由的问题 …

Liunx安装Nacos

Liunx安装Nacos 1、镜像下载 curl -O https://github.com/alibaba/nacos/releases/download/2.3.1/nacos-server-2.3.1.tar.gz2、解压到指定目录 tar -zxvf nacos-server-2.3.1.tar.gz -C /usr/local3、进入bin文件启动startup.sh文件 cd /usr/local/nacos/binsh startup.s…

精灵传信系统 匿名性系统 支持网站+小程序双端源码

精灵传信支持在线提交发送短信&#xff0c;查看回复短信&#xff0c;在线购买额度&#xff0c;自定义对接易支付&#xff0c;设置违禁词&#xff0c;支持网站小程序双端。 项目 地 址 &#xff1a; runruncode.com/php/19720.html 环境要求: PHP > 73 MySQL>5.6 Ngi…

Redis中的客户端(三)

客户端 身份验证 客户端状态的authenticated属性用于记录客户端是否通过了身份验证: typedef struct redisClient {// ...int authenticated;// ... } redisClient;如果authnticated的值为0&#xff0c;那么表示客户端未通过身份验证&#xff1b;如果authenticated的值为1&a…

分布式处理

前言 大家好&#xff0c;我是jiantaoyab&#xff0c;这是我作为学习笔记原理篇的最后一章&#xff0c;一台计算机在数据中心里是不够的。因为如果只有一台计算机&#xff0c;我们会遇到三个核心问题。第一个核心问题&#xff0c;叫作垂直扩展和水平扩展的选择问题&#xff0c;…

两年测开经历分享的测试开发学习路线

路线大纲 该学习路线一共是7个阶段&#xff0c;循序渐进&#xff0c;学习路线相对比较平缓图片 阶段0 : 前言 路线特点 适用于想转行做功能测试与测试开发的同学 给出目标、学习建议、关键知识点、最优资源以及各类资源推荐&#xff08;视频、书籍、文档、项目、工具等&am…

在宝塔面板中,为自己的云服务器安装SSL证书,为所搭建的网站启用https(主要部分攻略)

前提条件 My HTTP website is running Nginx on Debian 10&#xff08;或者11&#xff09; 时间&#xff1a;2024-3-28 16:25:52 你的网站部署在Debain 10&#xff08;或者11&#xff09;的 Nginx上 安装单域名证书&#xff08;默认&#xff09;&#xff08;非泛域名&#xf…