【Maven】Maven下载,配置以及基本概念

news2025/3/6 3:21:14

文章目录

  • 1. Maven简介
  • 2. Maven下载
  • 3. Maven环境配置
  • 4.Maven的基本概念
    • 4.1 仓库
    • 4.2 坐标
    • 4.3 仓库配置(修改IDEA默认Maven库)

在这里插入图片描述

1. Maven简介

Maven是一个Java项目管理工具和构建工具,用于管理项目的依赖关系、构建过程以及项目的部署。它是Apache软件基金会的开源项目。Maven的本质是一个项目管理工具,将项目开发和管理过程抽象成一个项目对象模型(POM)
注:POM (Project Object Model):项目对象模型

使用Maven可以简化项目的构建过程,提供了一种统一的项目结构和构建配置方式。通过定义一个描述项目结构和依赖的pom.xml文件,Maven可以自动下载和管理项目所需的依赖库,并能进行编译、测试、打包、部署等一系列构建任务。

2. Maven下载

虽然IDEA自带Maven,不过默认路径是在C盘. 路径为: C:\Users\用户名\.m2目录下

Maven下载地址: https://maven.apache.org/

在这里插入图片描述

3. Maven环境配置

依赖Java,需要配置JAVA_HOME
设置MAVEN自身的运行环境,需要配置MAVEN_HOME
在这里插入图片描述

复制Maven所在的位置
在这里插入图片描述
配置系统变量

在这里插入图片描述

并配置在Path中添加%MAVEB_HOME%\bin

4.Maven的基本概念

Maven有三个基本概念: 仓库,坐标和仓库配置

4.1 仓库

仓库:用于存储资源,包含各种jar包

仓库分类:

  1. 本地仓库:自己电脑上存储资源的仓库,连接远程仓库获取资源
  2. 远程仓库:非本机电脑上的仓库,为本地仓库提供资源

远程仓库也分为两种:

  1. 中央仓库:Maven团队维护,存储所有资源的仓库
  2. 私服:部门/公司范围内存储资源的仓库,从中央仓库获取资源

私服的作用:
保存具有版权的资源,包含购买或自主研发的jar
中央仓库中的jar都是开源的,不能存储具有版权的资源
一定范围内共享资源,仅对内部开放,不对外共享

4.2 坐标

Maven中的坐标用于描述仓库中资源的位置

Maven坐标主要组成:

  • groupld:定义当前Maven项目隶属组织名称(通常是域名反写,例如: org.mybatis)

  • artifactld:定义当前Maven项目名称(通常是模块名称,例如CRM、SMS)

  • version:定义当前项目版本号

  • packaging:定义该项目的打包方式(war/jar)

Maven有一项功能是依赖管理:通过配置pom.xml文件中的依赖项,Maven能够自动下载和管理项目所需的依赖库。它可以从Maven中央仓库或者其他远程仓库中获取依赖。

Maven中央仓库地址:Maven Repository: Search/Browse/Explore (mvnrepository.com)
Maven坐标的作用:使用唯一标识,唯一性定位资源位置,通过该标识可以将资源的识别与下载工作交由机器完成

4.3 仓库配置(修改IDEA默认Maven库)

Maven的仓库默认是在 C:/Users/用户/.m2/repository 目录下的. 而这个目录一般是在C盘下的,最好不要放在C盘

可以在想要的地方创建一个Maven目录,在Maven目录中创建一个 repository 目录

在下载的Maven中找到Maven的配置文件
在这里插入图片描述
可以使用编辑器打开,我这里使用的是VScode
在这里插入图片描述
除了上面的地方须需要修改,还要更改中央仓库的位置(Maven中央仓库在国外,国内访问会很慢),可以使用阿里云镜像仓库,导入以来速度更快

    <mirror>
      <!-- 此镜像的唯一标识符,用来区分不同的mirror元素-->
      <id>nexus-aliyun</id>
      <!--对哪种仓库进行镜像,简单说就是替代哪个仓库-->
      <mirrorOf>central</mirrorOf>
      <!--镜像名称-->
      <name>Nexus aliyun</name>
      <!--镜像URL -->
      <url>http://maven.aliyun.com/nexus/content/groups/public</url>
    </mirror>

修改IDEA的Maven库
打开IDEA设置,找到Maven
在这里插入图片描述
更改完成即可.

在这里插入图片描述

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

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

相关文章

ShardingSphere核心概念

&#x1f680; ShardingSphere &#x1f680; &#x1f332; 算法刷题专栏 | 面试必备算法 | 面试高频算法 &#x1f340; &#x1f332; 越难的东西,越要努力坚持&#xff0c;因为它具有很高的价值&#xff0c;算法就是这样✨ &#x1f332; 作者简介&#xff1a;硕风和炜&…

INDEMIND:视觉SLAM,助力服务机器人再进化

毋庸置疑&#xff0c;VSLAM将是推动机器人再次迭代的关键之一。 移动的“机器”还是机器人&#xff1f; 随着机器人的落地量持续增长&#xff0c;早期“忽略”的产品缺陷&#xff0c;正在引发越来越严重的负面影响。一方面&#xff0c;激光SLAM虽基于Cartographer算法不断演进…

吐血整理,接口测试到接口自动化集成总结,你不知道的都在这...

目录&#xff1a;导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结&#xff08;尾部小惊喜&#xff09; 前言 后端接口都测试什…

mybatis-plus 支持不同数据源sql切换

mybatis-plus 支持不同数据源sql切换 本篇内容主要讲解的是mybatis-plus 支持不同数据源sql切换 直接上代码 1、结构代码 2、引入依赖 <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactI…

mockserver实践:本地启动以命令行方式运行,实现挡板和转发

mockserver 官网学习地址 https://www.mock-server.com/#what-is-mockserver mockserver下载和启动 下载 官网下载jar包 https://www.mock-server.com/where/downloads.html 本次实践所用jar包 mockserver-netty-5.14.0-shaded.jar 本地启动 需要先准备好jave环境 1.普通…

5、WAMP配置虚拟主机

配置虚拟主机后可实现用域名的方式访问项目。 1、从WAMP图标&#xff0c;点击左键&#xff0c;进行虚拟主机管理&#xff0c;然后添加上虚拟主机名&#xff0c;即将来的浏览器的地址名&#xff0c;然后输入相应的文件夹。这种修改方式&#xff0c;直接自动修改了hosts文件。 2…

frp内网穿透工具实现局域网服务访问

frp工具实现内网穿透 frp主要作用是实现内网穿透&#xff0c;将内外网端口进行映射&#xff0c;这样如果我想访问局域网内的某项服务&#xff0c;那么我直接访问公网上相对应的映射端口即可。 frp安装配置较复杂&#xff0c;这里我们直接使用frp docker容器安装。所以如果主机…

第二十章:CANet:具有迭代细化和专注少样本学习的无类别分割网络

0.摘要 最近在语义分割方面的进展是由深度卷积神经网络和大规模标注图像数据集推动的。然而&#xff0c;像素级别的数据标注是繁琐和昂贵的。此外&#xff0c;训练好的模型只能在一组预定义的类别中进行预测。在本文中&#xff0c;我们提出了CANet&#xff0c;一种无类别偏见的…

Spark编程-使用SparkCore求TopN,Max_Min_Value

简介 使用SparkCore求top5值编程&#xff0c;最大最小值 求订单前五的TOP5值 数据 数据字段如下&#xff1a;orderid,userid,payment,productid 需求如下&#xff1a;从文本文件中读取数据&#xff0c;并计算出前5个payment(订单的付款金额)值 //字段 orderid,userid,payme…

Java读取INI文件详解及案例

引言&#xff1a; INI文件是一种常用的配置文件格式&#xff0c;它采用了键值对的形式存储配置信息。在Java编程中&#xff0c;读取和解析INI文件是一个常见的任务。本文将详细介绍如何使用Java读取INI文件&#xff0c;并提供一个案例演示。 ---------------文章目录---------…

给2023年还想要成为网络工程师的朋友的一份学习福利

2023的夏天再怎么热&#xff0c;网络工程师工作的机房也会让你瑟瑟发抖。 很久没有给粉丝们分享网络工程师学习资料了&#xff0c;如果你当下还在为成为网络工程师而学习&#xff0c;不妨顺手拿走这份网工资料包再出发&#xff0c;希望可以给大家的学习一些帮助。 网工光速入门…

快速数据处理:限定表格某些字段是否可见、只读

目录 1 前言 2 打开字段属性表进行修改 3 测试一下几个字段只读属性 1 前言 实际操作中&#xff0c;某些字段不需要显示出来&#xff0c;某些字段需要显示&#xff0c;但是不可修改。我们可以通过简单设置来实现这些。 2 打开字段属性表进行修改 从左下基础表格列表中&am…

Day55|392.判断子序列 、 115.不同的子序列

392.判断子序列 1.题目&#xff1a; 给定字符串 s 和 t &#xff0c;判断 s 是否为 t 的子序列。 字符串的一个子序列是原始字符串删除一些&#xff08;也可以不删除&#xff09;字符而不改变剩余字符相对位置形成的新字符串。&#xff08;例如&#xff0c;"ace"是…

第五章内存系统(Cortex-M7 Processor)

目录 第五章内存系统 5.1关于内存系统 5.2&#xff08;Speculative&#xff09;推测性访问 5.2.1系统设计注意事项 5.3故障处理 5.3.1故障 5.3.2使用模型 5.4内存类型和内存系统行为 5.5AXIM接口 5.5.1AXI属性和事务 5.5.2用于AXIM接口访问的标识符 5.5.3AXI特权信息 5.…

Python案例分析|文本相似度比较分析

本案例通过设计和实现有关文本相似度比较的类Vector和Sketch&#xff0c;帮助大家进一步掌握设计Python类来解决实际问题的能力。 01、文本相似度比较概述 通过计算并比较文档的摘要可实现文本的相似度比较。 文档摘要的最简单形式可以使用文档中的k-grams&#xff08;k个连…

springboot第30集:springboot集合问题

Logstash Logstash 是开源的服务器端数据处理管道&#xff0c;能够同时从多个来源采集数据、格式化数据&#xff0c;然后将数据发送到es进行存储。 ElasticSearch Elasticsearch 是基于JSON的分布式搜索和分析引擎&#xff0c;是利用倒排索引实现的全文索引。 KibanaKibana 能够…

低代码项目实战第一弹!2人14天快速构建电商企业供应链管理平台(一)

一、前言&#xff1a;项目背景 项目情况&#xff1a;一家主要通过电商平台销售日用清洁用品的企业&#xff0c;淘宝垂直品类第一&#xff0c;销售模式包括自营和代理商两种模式&#xff0c;平时用旺店通ERP进行订单管理和财务结算。并且客户公司有小的开发团队&#xff0c;可以…

Java日期类

日期类 第一代日期类&#xff1a; 1、Date&#xff1a;精确到毫秒&#xff0c;代表特定的瞬间 2、SimpleDateFormat&#xff1a; **格式化和解析日期的具体类&#xff0c;**它允许进行&#xff1a;格式化(日期 → 文本) 解析(文本 → 日期) 和 规范化。 3、常用的使用方法…

sentinel介绍-分布式微服务流量控制

官网地址 https://sentinelguard.io/ 介绍 随着微服务的流行&#xff0c;服务和服务之间的稳定性变得越来越重要。Sentinel 是面向分布式、多语言异构化服务架构的流量治理组件&#xff0c;主要以流量为切入点&#xff0c;从流量路由、流量控制、流量整形、熔断降级、系统自…

MySQL 知识连载(一)

点击上方↑“追梦 Java”关注&#xff0c;一起追梦&#xff01; MySQL 是一款开源软件&#xff0c;凭借其出色的性能&#xff0c;目前已经成为绝大多数互联网公司的首选关系型数据库。因此程序员不能只懂数据库的增删改查和一些简单的使用技巧&#xff0c;更需要熟练掌握 MySQL…