Maven的安装配置与基本使用

news2025/1/11 20:53:05

Maven简介:

Maven是专门用于管理和构建java项目的工具,它的主要功能有:

提供了一套标准化的项目结构

标准化的项目结构:

在这里插入图片描述

Maven提供了一套标准化的项目结构,所有的IDE使用Maven构建的项目结构完全一样,所有IDE创建的Maven项目可以通用

提供了一套标准化的构建流程(编译,测试,打包,发布.....)

在这里插入图片描述

Maven提供了一套简单的命令来完成项目构建

提供了一套依赖管理机制

依赖管理其实就是管理项目所依赖的第三方资源(jar资源,插件...)

如下所示为我们常规的操作步骤:

需要导入的jar包少的情况下,也许你并不觉得麻烦,但是当需要导入的资源非常多的情况下,就会很麻烦:

在这里插入图片描述

Maven使用标准的坐标配置来管理各种依赖,只需要简单的配置就可以完成依赖管理

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

在这里插入图片描述
仓库分类:

本地仓库:自己计算机上的一个目录
中央仓库:由Maven团队维护的全球唯一的仓库
远程仓库(私服):一般由公司团队搭建的私有仓库

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

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

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

在这里插入图片描述

还可搭建远程仓库,将来的jar包的查找顺序则变为:

本地仓库----->远程仓库----->中央仓库

Maven安装配置:

1:解压Apache-maven-3.6.1.rar,安装完成

maven安装包获取:

链接:https://pan.baidu.com/s/11IyBxp64zwAf9UpO7gT0mA?pwd=xjoy 
提取码:xjoy

2:配置环境变量MAVEN_HOME为安装路径的bin目录

第一步:

在这里插入图片描述第二步:

在系统变量中,找到path,新建环境变量:

新建环境变量为:%SystemRoot%\system32;%MAVEN_HOME%\bin

在这里插入图片描述

最后就是点击确定确定即可:

然后cmd命令:

打开—>输入:mvn -version;

注意:mvn和-中间有空格!分号不要忘记

在这里插入图片描述

出现上述界面,就证明成功啦,如果这里有小伙伴出现的是mvn是不可执行的程序…,那么可以尝试将path中的环境变量变为以下两种:

1:新建环境变量为:%MAVEN_HOME%\bin
2:新建环境变量为:maven的文件路径

3:配置本地仓库:修改conf/settings.xml中的为指定目录

在maven文件夹中找到conf文件夹,打开找到settings,双击打开

在这里插入图片描述

下滑,找到下述标签:

在这里插入图片描述
别关!!!

继续下滑!

4:配置阿里云私服:修改conf/settings.xml中的标签,为其添加如下子标签

在这里插入图片描述

内容如下:

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

到这里,就完成了安装和配置啦

Maven基本使用:

Maven常用命令:

compile:编译
clean:清理
test:测试
package:打包
install:安装

在IDE中配置maven:

点击file------>settings,搜索maven:

在这里插入图片描述

maven坐标:

maven中坐标是资源的唯一标识,使用坐标来定义项目或引入项目中需要的依赖

maven坐标主要组成:

groupld:定义当前maven项目隶属组织名称(通常是域名反写,例如:com.itheima)
artifactld:定义当前maven项目名称(通常是模块名称,例如:order-service,goods-service)
version:定义当前项目版本号

在这里插入图片描述

IDE创建maven项目:

第一步:

在这里插入图片描述

第二步:

在这里插入图片描述第三步:

在这里插入图片描述

第四步:

在这里插入图片描述

编写第一个maven文件:

在这里插入图片描述

IDE创建导入项目:

在这里插入图片描述

maven本身是不能进行断点调试的,但是我们可以安装插件:

在这里插入图片描述

在这里插入图片描述

使用坐标导入jar包:

手动

在pom.xml中编写<dependencies>标签

<dependencies>
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>8.0.30</version>
        </dependency>
    </dependencies>

报红的[第一次在maven中使用mysql就会出现这种情况],点击install进行下载:

在这里插入图片描述

未显示下面这个的:

在这里插入图片描述

点击刷新试试:

在这里插入图片描述
快捷方式

在pom.xml中按alt+insert[有些电脑是alt+fn+insert],选择Dependency,么有这个选项的,选择下述这个

在这里插入图片描述

点击add:

在这里插入图片描述

标签中的内容自动为我们生成:

在这里插入图片描述

最后不要忘记点击刷新哈

自动导入jar包的方式:

在这里插入图片描述

依赖范围:

通过设置坐标的依赖范围(scope),可以设置对应的jar包的作用范围:编译环境,测试环境,运行环境

在这里插入图片描述

<scope>默认值:compile

compile为默认的依赖有效范围

如果在定义依赖关系的时候,没有明确指定依赖有效范围的话,则默认采用该依赖有效范围【此种依赖,在编译、运行、测试时均有效

provided在编译、测试时有效,但是在运行时无效

例如:servlet-api,运行项目时,容器已经提供,就不需要Maven重复地引入一遍了

runtime在运行、测试时有效,但是在编译代码时无效

例如:JDBC驱动实现,项目代码编译只需要JDK提供的JDBC接口,只有在测试或运行项目时才需要实现上述接口的具体JDBC驱动

test只在测试时有效

例如:Junit

system在编译、测试时有效,但是在运行时无效

和provided的所不同的是,使用system范围的依赖时,必须通过systemPath元素,显式地指定依赖文件的路径。

因为此类依赖不是通过Maven仓库解析的,而且往往与本机系统绑定,可能造成构建的不可移植,因此应该谨慎使用,systemPath元素可以引用环境变量

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【IEEE出版社】人工智能、数据挖掘、机器人、传感等领域SCI,自引率低,对国人友好,评职毕业高分好刊~

1区人工智能类SCI&EI 【出版社】IEEE 【自引率】4.30%&#xff08;低&#xff09; 【国人占比】13.40% 【期刊简介】IF:6.5-7.0&#xff0c;JCR1区&#xff0c;中科院3区 【检索情况】SCI&EI 双检&#xff0c;正刊 【参考周期】3-5个月左右录用 【截稿日期】202…

如何彻底关闭Win10自动更新,Win10永久关闭自动更新的方法

如何彻底关闭Win10自动更新&#xff1f;Win10自动更新的问题是很多用户都遇到的问题&#xff0c;很多时候我们关闭了自动更新&#xff0c;过一段时间系统又自动更新了&#xff0c;由于win10自动更新非常顽固&#xff0c;所以我们要从多个地方下手才能永久关闭其自动更新&#x…

Java中几种常量池的区分

文章目录前言了解一下 ldc 指令字符串常量池在 Java 内存区域的哪个位置1.全局字符串池&#xff08;string pool也有叫做string literal pool&#xff09;2.class文件常量池&#xff08;class constant pool&#xff09;3.运行时常量池&#xff08;runtime constant pool&#…

干货 | Python的面试题目+答案合集

作为一个 Python 新手&#xff0c;你必须熟悉基础知识。 在本期内容中我们将讨论一些 Python 面试的基础问题和高级问题以及答案&#xff0c;以帮助你完成面试。 包括 Python 开发问题、编程问题、数据结构问题、和 Python 脚本问题。 接下来让我们来深入研究这些问题 Pytho…

AD转换芯片精度计算及校正方法

文章目录前言一、转换精度二、重要参数1.线性误差&#xff08;INL&#xff09;和差分线性误差&#xff08;DNL&#xff09;2.失调误差和增益误差三、转换校正总结前言 本文对模数转换芯片的精度进行简要介绍&#xff0c;帮助大家正确选型&#xff0c;并介绍了一个基本的ADC转换…

postgresql13+postgis3.2安装教程

postgresql13postgis3.2安装教程 安装postgresql13 安装pg13 pg13安装包 cd /home/soft/pg tar -zxvf postgresql-13.6.tar.gz cd postgresql-13.6# yum -y install -y readline-devel./configure --prefix/usr/local/pgsqlmake -j4make install设置环境变量 vim /etc/pr…

OpenGPT的11种高效用法

1. 问答提示 2. 解释复杂的概念 3. 创作 创作需要尽可能的缩小范围&#xff0c;提出具体的要求&#xff0c;AI会给出更好的答案。 4. 准备面试 5. 教师教案 6. 编码和集成 7. 健身 8. 送礼推荐 9. 翻译 这个甚至不用去演示&#xff0c;openAI的翻译能力非常强大&#xff0c…

计算机专业混子应届生,如何3个月逆袭,成功上岸?

在我进入大学之前&#xff0c;我一直对计算机感兴趣。虽然只是考了一个一般大学&#xff0c;但是选专业的时候还是选了计算机专业。 本来以为自己会在大学里学到很多有用的知识&#xff0c;并且能够很快找到一份好工作。但是&#xff0c;事实并不是这样。在大学期间&#xff0c…

竞品分析:叮咚买菜

​生鲜包括了三类未加工的初级产品“果蔬&#xff08;水果蔬菜&#xff09;、肉类、水产品”以及两类加工产品“面包和熟食”。熟食又包括“冷藏的冷冻食品、乳制品和非冷藏的散装杂粮”。 生鲜电商就是以电子商务的形式销售以上产品。 生鲜电商有着“悠久”的历史&#xff0…

Vue组件的生命周期

一、生命周期 & 生命周期函数 1. 生命周期&#xff08;Life Cycle&#xff09;是指一个组件从创建 -> 运行 -> 销毁的整个阶段&#xff0c;强调的是一个时间段。 2. 生命周期函数&#xff1a;是由 vue 框架提供的内置函数&#xff0c;会伴随着组件的生命周期&#xf…

第四十三讲:神州防火墙混合模式的初始配置

混合模式即相当于防火墙既工作于路由模式&#xff0c;又工作于透明模式。在实际应用环境中&#xff0c;此类防火墙应用一般也比较广泛。混合模式分为两种&#xff1a; 一&#xff0c;ISP分配外网地址&#xff0c;内网为私网地址&#xff0c;服务器区域和内部地址为同一网段。这…

智慧商圈,对接微信、支付宝、云闪付实现自动积分

线下交易 商城下的门店使用本公司内部的pos机以及会员管理系统&#xff0c;通过pos收银时&#xff0c;根据管理系统配置的积分规则&#xff0c;可以自行给会员积分。但是当商城内部的部分门店不是使用内部的pos机进行收银时&#xff0c;则无法给给该批用户进行积分。以前有拍照…

吉他谱软件guitar pro2023吉他和弦、六线谱、BASS四线谱绘制

Guitar Pro由法国Arobas Music出品&#xff0c;主要用于管弦乐器的学习&#xff0c;通过建立不同的音轨&#xff0c;可完成不同乐器乐谱的编排制作。Guitar Pro发布23余年来&#xff0c;其强大的功能被广泛应用于专业乐队的创作和排练&#xff0c;其独创的gtp文档格式在专业领域…

「数据密集型系统搭建」原理篇|夯实基础,灵活设计

正所谓“完事开头难”&#xff0c;在设计技术方案时候&#xff0c;除了前期要做好背景调查、需求调研&#xff0c;开工动手的第一步就是做“数据建模”&#xff0c;也就是存储数据的结构设计&#xff0c;大部分时间是围绕关系型数据库进行的&#xff0c;少部分是在Redis上做K-V…

「技术直播」分布式数据库订阅功能的原理及实现

数据订阅是一种数据查询方式&#xff0c;其特点为&#xff1a;客户端执行一个查询语句后&#xff0c;可以增量形式&#xff0c;不断收到新到达服务端的、符合查询条件的数据。相比普通查询&#xff0c;订阅能够持续地、低延迟地将新写入的数据返回客户端。什么时候需要数据订阅…

40 行 Python 代码,写一个 CPU!

目录 一、引言 二、CPU 的组成 三、工作原理 四、CPU 指令工作详细剖析 五、 Python 实现 CPU 各组成部分 六、集成 CPU 七、为CPU编程&#xff0c;体会上古程序员 工作流程 八、总结 一、引言 CPU 如何工作&#xff1f;是困扰初级用户一个迷雾般的难题。我们可能知道诸…

HTML1

HTML是一门语言&#xff0c;所有的网页都是用HTML这门语言编写出来的 HTML(Hyper Text Markup Language)&#xff1a;超文本标记语言 超文本&#xff1a;超越文本的限制&#xff0c;除了文字信息&#xff0c;还可以定义图片、音频、视频等内容 标记语言&#xff1a;由标签构…

联合证券|北京宣布:全域禁放!新能源大爆发,有港股盘中暴涨超40%

周五A股商场和港股商场进一步走强&#xff0c;连续近期连续涨势&#xff0c;其间上证指数盘中再创近期反弹以来新高&#xff0c;新能源赛道股团体大涨&#xff0c;成为商场新的领涨主力。 北向资金也持续大举净买入&#xff0c;继昨天净买入超越百亿元之后&#xff0c;今天上午…

续集来了丨UI自动化测试(二):带视频,实在RPA高效进行web项目UI自动化测试

一、什么是web项目ui自动化测试&#xff1f; 通过测试工具模拟人为操控浏览器&#xff0c;使软件按照测试人员的预定计划自动执行测试的一种方式&#xff0c;可以完成许多手工测试无法完成或者不易实现的繁琐工作。 正确使用自动化测试&#xff0c;可以更全面的对软件进行测试…

让 APISpace 告诉你什么场景使用什么API(3)

Q&#xff1a;跨境电商平台&#xff0c;需要在界面上展示跨境包裹的物流信息&#xff0c;需要使用的是什么API&#xff1f; 需要 跨境国际快递物流查询API~ 跨境国际快递物流查询服务&#xff0c;支持900物流商&#xff0c;提供实时查询和单号订阅API接口。稳定高效&#xff…