一文读懂Maven的安装与配置

news2024/11/18 22:32:40

一、前言【可忽略】

        Maven本质是一个项目管理工具,类似于JDK是java开发工具。

        我们需要管理什么呢?首先各种各样的依赖,比如SpringFramwork、Mybatis。

        简单点做,我们新建个目录,就能管理这些jar包。然而,缺乏统一管理,很可能会导致混乱,造成莫名bug,比如库中同时有Mybatis1.0版本和2.0版本,这时候引用就会出错。

        Maven的重要功能之一,就是统一管理这些依赖,避免浪费大量时间在这些乱七八糟的事上。

        此外,Maven定义了标准的开发结构,方便把握开发流程。

        其核心有3部分,main目录、test目录、pom.xml文件【target是javac编译后的二进制文件,不属于Maven讲解内容】

        假设,我们一套标准开发流程是编码-》调试-》测试-》部署。【仅以后端】

        第一步,编码可能包括很多流程,但核心一般仅2步:加载连接数据库、编写处理代码。

        我们不可能自己编写数据库连接软件,然后写SQL语句写代码,这已经有人写好了。

        此时,我们可以直接导入mysql依赖,就能方便地连接数据库。

        导入mybatis,就能方便地操作数据库。

        Test测试目录下可以测试一些代码,怎么做?

        导入junit依赖,就能用一些简单的注解,进行测试。

        这些依赖,我们只需在pom.xml文件中,添加相关坐标,即可自动下载,这就很简单了。

二、Maven的下载与安装

        第一步,下载安装

        Maven的下载,需要到以下网站、选择第二个bin.zip下载:

https://maven.apache.org/download.cgixicon-default.png?t=N7T8https://maven.apache.org/download.cgi

        最后得到的是一个压缩包apache-maven-3.9.6-bin.zip,最后解压缩,就能得到apache-maven-3.9.6的文件夹,可以随便移动到一个目录下。【建议不要中文】

        这个就是maven了,这时算是安装完了,但是还需要配置。

        第二步,配置环境变量

        点击win,在搜索框输入“huan”,一般会跳出“编辑系统环境变量”,点击。

        接着,点击“环境变量(N)”,一般会出现两个部分:用户变量和系统变量,点击用户变量的path。【在windows的另外版本,可能无法点击,此时在最后加上】

        点击“新建”,在最后一栏输入你安装的maven路径【一直到bin】

        比如我是“D:\Maven\apache-maven-3.3.9\bin”,然后一路确定即可【不要忘记确认】

        快捷键win+R,输入“cmd”命令,打开。

        输入“mvn -v”【n与-之间有空格】,只要有显示,就说明安装完成。

三、配置Maven本地仓库和国内镜像

        maven安装完成后,需要配置本地仓库,和国内镜像【因为默认从外国网站下载,速度非常慢】

        为什么要配本地仓库?我们已知maven可以管理依赖,那它统一起来的依赖在哪呢?就要放在仓库里。

        本地仓库是什么呢?其实就是一个目录。

        所以,在maven同级目录下,建一个目录(文件夹)“D:\Maven\repository”【不要放在apache-maven中,一般不会出错,但是如果你忘了,想更新一些数据,就可能不敢删除这里面的数据】

        第一步,配置本地仓库

        打开maven的conf目录,打开其中的setting.xml文件。【我的conf目录路径是“D:\Maven\apache-maven-3.3.9\conf”】

        打开后,输入以下内容【仓库要改成,你之前的目录名】:

 <localRepository>D:\Maven\repository</localRepository>

        保存,至此,本地仓库配置结束。

        第二步,配置国内镜像

        依旧是setting文件中,首先找到<mirrors>标签,【没有需要自己加。找一下,有时可能被注释或者干脆没有。】

        在mirrors标签中,加入如下语句【去除前后两个mirrors】:

  <mirrors>
	 <mirror>
	   <id>aliyun</id>
	   <mirrorOf>*</mirrorOf>
	   <name>Aliyun Maven Repository</name>
	   <url>https://maven.aliyun.com/repository/public</url>
	 </mirror>
  </mirrors>

        千万要注意,不要把标签插入其它标签里,一定报错。

到此,maven的安装和配置已经完成,接着重要的是使用maven进行依赖管理,其实也就是在pom文件下管理依赖,在此不赘叙。

  我是蚊子码农,如有补充,欢迎在评论区留言。个人的知识体系可能没有那么完善,希望各位多多指正,谢谢大家。

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

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

相关文章

android studion 一直编译失败

无外网&#xff0c;无法下载对应的库导致编译失败 配置代理 1.修改镜像源 资源路径 为国内镜像 如下为国美腾讯软件镜像 distributionUrlhttps\://mirrors.cloud.tencent.com/gradle/gradle-8.6-bin.zip 2.构建仓储失败 无法下载。 添加国内仓储如下位置&#xff0c;重新…

你真的懂firewalld吗?不妨看看我的这篇文章

一、firewalld简介 firewalld防火墙是Linux系统上的一种动态防火墙管理工具&#xff0c;它是Red Hat公司开发的&#xff0c;并在许多Linux发行版中被采用。相对于传统的静态防火墙规则&#xff0c;firewalld使用动态的方式来管理防火墙规则&#xff0c;可以更加灵活地适应不同…

AI图片生成软件怎么用?让你轻松完成创作

随着人工智能技术的不断发展&#xff0c;越来越多的AI应用进入我们的生活。使用AI图片生成软件来创作图片可以极大地简化创作过程&#xff0c;让设计师轻松实现各种艺术效果。那么AI图片生成软件怎么用? 1. 选择合适的AI图片生成软件 市场上有许多AI图片生成软件供选择&#x…

香橙派OrangePi AIpro,助力国产AIoT迈向新的台阶!

前言&#xff1a;很高兴受邀CSDN与OrangePi官方组织的测评活动&#xff0c;本次测评是一块基于AI边缘计算的香橙派开发板OrangePi AIpro。这是 香橙派 联合 华为昇腾 合作精心打造的新一代边缘AI计算产品&#xff0c;于2023年12月初发布&#xff0c;提供 8/20TOPS澎湃算力[1]&a…

盲人无障碍设施建设:科技之光照亮前行之路

在这个快速发展的时代&#xff0c;科技的每一次进步都在悄然改变着我们的生活&#xff0c;尤其在提升特殊群体生活质量方面&#xff0c;展现出前所未有的力量。今天&#xff0c;让我们聚焦于盲人无障碍设施建设这一重要话题&#xff0c;通过一款名为“蝙蝠避障”的辅助软件&…

Debug-012-el-popover 使用 doClose() 关闭窗口不生效的处理方案

前言&#xff1a; 今天上午碰见一个非常奇怪的情况&#xff1a;一样的方法实现的功能&#xff0c;效果却不一样。 两个页面都是使用的doClose()去关闭的el-popover&#xff0c;其中有一个就是不生效&#xff0c;找不同找了半天&#xff0c;始终不得其解。请看效果吧&#xff1…

2024-05-28 服务器开发-不同vs版本的std::string的访问出错问题-记录

摘要: 有一个dll库是使用vs2010编译的, 使用这个dll动态库的工程是vs2019. 这个dll动态库返回一个结构体&#xff0c;其中有个成员使用了std::string。但是遇到了std::string的成员显示被赋值为NULL的情况。 本文对进行分析, 重点在于追踪问题的思路。 问题描述: dll使用vs20…

java项目之飘香水果购物网站(springboot+vue+mysql)

风定落花生&#xff0c;歌声逐流水&#xff0c;大家好我是风歌&#xff0c;混迹在java圈的辛苦码农。今天要和大家聊的是一款基于springboot的飘香水果购物网站。项目源码以及部署相关请联系风歌&#xff0c;文末附上联系信息 。 项目简介&#xff1a; 飘香水果购物网站的主要…

margin-left: auto;使元素靠右

摘要&#xff1a; 今天写样式遇到一个东西&#xff0c;就是需要表单居右显示的&#xff0c;但是作用了弹性布局&#xff0c;其他的都不行的&#xff0c;一开始使用了浮动&#xff0c;但是使用了浮动后盒子就不继承父盒子的宽度了&#xff0c;移动端还行&#xff0c;自动回到100…

解析边缘计算网关的优势-天拓四方

随着信息化、智能化浪潮的持续推进&#xff0c;计算技术正以前所未有的速度发展&#xff0c;而边缘计算网关作为其中的重要一环&#xff0c;以其独特的优势正在逐步改变我们的生活方式和工作模式。本文将详细解析边缘计算网关的优势。 首先&#xff0c;边缘计算网关具有显著的…

【C++初阶】--- C++入门(中)

目录 一、缺省参数1.1 缺省参数概念1.2 缺省参数分类 二、函数重载2.1 函数重载概念2.2 C支持函数重载的原理 --- 名字修饰 三、引用3.1 引用概念3.2 引用特性3.3 常引用3.4 使用场景3.5 引用和指针的区别 一、缺省参数 1.1 缺省参数概念 缺省参数是声明或定义函数时为函数的…

解锁数据的力量:Navicat 17 新特性和亮点

解锁数据的力量&#xff1a;Navicat 17 新特性和亮点 大家好&#xff0c;我是猫头虎。今天我要为大家介绍 Navicat 17 的新特性和亮点。Navicat 是一款专业的数据库管理工具&#xff0c;支持多种数据库类型&#xff0c;包括 MySQL、Oracle、SQL Server、PostgreSQL、MariaDB、…

Jmeter元件及基本作用域

&#x1f680;从今天开始学习性能测试工具——Jmeter&#xff0c;小梦也是先学习了下Jmeter的元件概念以及其基本的作用域&#xff0c;整理了下笔记&#xff0c;希望不管是从事开发领域还是测试领域的朋友们&#xff0c;我们一起学习下Jmeter工具&#xff0c;提升工作中的技能&…

Compose Button移除水波纹效果

一、背景 在使用Compose实现Button按钮时&#xff0c;设计要求移除按钮的水波纹效果&#xff0c;只保留按压效果&#xff0c;经查Compose1.4.3版本中&#xff0c;并没有直接移除水波纹的能力 二、遇到问题 经过多次尝试&#xff0c;使用Compose的Button组件始终无法实现目标效…

NSSCTF-Web题目3

目录 [BJDCTF 2020]easy_md5 1、知识点 2、题目 3、思路 [ZJCTF 2019]NiZhuanSiWei 1、知识点 2、题目 3、思路 第一层 第二层 第三层 [BJDCTF 2020]easy_md5 1、知识点 弱比较&#xff0c;强比较、数组绕过、MD5加密 2、题目 3、思路 1、首先我们跟着题目输入&a…

蒙特卡洛法求解机械臂工作空间(以IRB4600型工业机械臂为例)

1. 概念 工作空间是衡量机器人工作能力的一个重要的运动学指标&#xff0c;蒙特卡洛法是一种随机模拟方法&#xff0c;用于在计算机上估计某些统计量&#xff0c;对于要估计的统计量&#xff0c;通过模拟大量的随机抽样&#xff0c;并计算这些样本的随机值来估算这个统计量的值…

第 8 章 机器人实体导航(自学二刷笔记)

重要参考&#xff1a; 课程链接:https://www.bilibili.com/video/BV1Ci4y1L7ZZ 讲义链接:Introduction Autolabor-ROS机器人入门课程《ROS理论与实践》零基础教程 9.1 概述 实体机器人导航与仿真环境下的导航核心实现基本一致&#xff0c;主要区别在于导航实现之前&#xf…

37. 解数独 - 力扣(LeetCode)

基础知识要求&#xff1a; Java&#xff1a; 方法、for循环、if else语句、数组 Python&#xff1a; 方法、for循环、if else语句、列表 题目&#xff1a; 编写一个程序&#xff0c;通过填充空格来解决数独问题。 数独的解法需 遵循如下规则&#xff1a; 数字 1-9 在每一行…

上交提出TrustGAIN,提出6G网络中可信AIGC新模式!

月16日至18日&#xff0c;2024全球6G技术大会在南京召开。会上&#xff0c;全球移动通信标准制定组织3GPP&#xff08;第三代合作伙伴计划&#xff09;的3位联席主席分享了3GPP6G标准时间表&#xff1a; 2024年9月&#xff0c;启动6G业务需求研究&#xff1b; 2025年6月&…

代码随想录算法训练营第36期DAY35

DAY35 122买卖股票的最佳时机ii 很巧妙&#xff0c;也很难想到&#xff1a;计算每天的利润&#xff08;今天卖出&#xff0c;昨天买入的利润&#xff09;&#xff0c;只取正数相加。 class Solution {public: int maxProfit(vector<int>& prices) { int…