Maven 下载配置 详解 我的学习笔记
Maven 下载配置 详解 我的学习笔记
- 一、Maven 简介
- 二、maven安装配置
- 三、maven基本使用
- 四、idea配置maven
- idea配置maven环境
- maven坐标
- idea创建maven项目
- 配置Maven-Helper插件
- 五、依赖管理
一、Maven 简介
Apache Maven 是一个项目管理和构建工具,它基于项目对象模型(POM)的概念,通过一小段描述信息来管理项目的构建、报告和文档
官网:http://maven.apache.org/
功能
Maven是专门用于管理和构建Java项目的工具,它的主要功能
提供了一套标准化的项目结构
提供了一套标准化的构建流程(编译,测试,打包,发布……)
提供了一套依赖管理机制
标准化的项目结构
Maven提供了一套标准化的项目结构,所有IDE使用Maven构建的项目结构完全一样,所有IDE创建的Maven项目可以通用

标准化的构建流程

Maven提供了一套简单的命令来完成项目构建
依赖管理机制**
依赖管理其实就是管理你项目所依赖的第三方资源 (jar包、插件…)
Maven 使用标准的坐标配置来管理各种依赖
只需要简单的配置就可以完成依赖管理
例如
<dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>8.0.32</version></dependency>
作用
- 标准化的项目结构
- 标准化的构建流程
- 方便的依赖管理
Maven 模型
- 项目对象模型 (Project Object Model)
- 依赖管理模型(Dependency)
- 插件(Plugin)
Maven 仓库
- 仓库分类:
本地仓库:自己计算机上的一个目录
中央仓库:由Maven团队维护的全球唯一的仓库--------地址:https://repo1.maven.org/maven2/
远程仓库(私服):一般由公司团队搭建的私有仓库
- 查找依赖对应jar包
当项目中使用坐标引入对应依赖jar包后,首先会查找本地仓库中是否有对应的jar包
如果有,则在项目直接引用,如果没有,则去中央仓库中下载对应的jar包到本地仓库
还可以搭建远程仓库,将来jar包的查找顺序则变为 本地仓库 => 远程仓库 => 中央仓库
二、maven安装配置
下载
maven下载官网: https://maven.apache.org/download.cgi

解压zip及完成安装
配置环境变量
高级系统设置=>环境变量=>系统变量=>新建=>配置MAVEN_HOME=>确定=>Path=>新建=>
%MAVEN_HOME%\bin

创建本地仓库

配置本地仓库
修改 conf/settings.xml 中的
<localRepository>为一个指定目录

配置阿里云镜像
修改 conf/settings.xml 中的
<mirrors>标签

代码如下
<mirror><id>alimaven</id><mirrorOf>central</mirrorOf><name>aliyun maven</name><url>https://maven.aliyun.com/repository/central</url></mirror><mirror><id>alimaven</id><mirrorOf>public</mirrorOf><name>aliyun maven</name><url>https://maven.aliyun.com/repository/public</url></mirror><mirror><id>alimaven</id><mirrorOf>gradle-plugin</mirrorOf><name>aliyun maven</name><url>https://maven.aliyun.com/repository/gradle-plugin</url></mirror><mirror><id>alimaven</id><mirrorOf>apache snapshots</mirrorOf><name>aliyun maven</name><url>https://maven.aliyun.com/repository/apache-snapshots</url></mirror><mirrors><mirror><id>central</id><name>Maven Repository Switchboard</name><url>https://repo1.maven.org/maven2/</url><mirrorOf>central</mirrorOf></mirror></mirrors>
maven安装及配置完成
三、maven基本使用
Maven 常用命令
| 命令名称 | 作用 |
|---|---|
| compile | 编译 |
| clean | 清理 |
| test | 测试 |
| package | 打包 |
| install | 安装 |
快捷命令

Maven 生命周期
Maven 构建项目生命周期描述的是一次构建过程经历经历了多少个事件
Maven 对项目构建的生命周期划分为3套
同一生命周期内,执行后边的命令,前边的所有命令会自动执行
- clean:清理工作
- default:核心工作,例如编译,测试,打包,安装等
- site:产生报告,发布站点等
default 构建生命周期

四、idea配置maven
idea配置maven环境
File =>Settings=>Build…

maven坐标
Maven 中的坐标是资源的唯一标识,使用坐标来定义项目或引入项目中需要的依赖
Maven 坐标主要组成
groupId:定义当前Maven项目隶属组织名称(通常是域名反写,例如:com.chq)
artifactId:定义当前Maven项目名称(通常是模块名称,例如 order-service、goods-service)
version:定义当前项目版本号
<dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>8.0.32</version></dependency>
idea创建maven项目
1. 创建模块,选择Maven

2. 填写模块名称,坐标信息

3. 点击finish,创建完成

配置Maven-Helper插件
File=>Settings=>Plugins=>搜索Maven=>选择Maven Helper=>Install=>重启Idea

使用

五、依赖管理
使用坐标导入 jar 包
- 在 pom.xml 中编写
<dependencies>标签 - 在
<dependencies>标签中 使用<dependency>引入坐标 - 定义坐标的
groupId artifactId version - 点击刷新按钮,使坐标生效

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

| 依赖范围 | 编译 | 测试 | 运行 | 例子 |
|---|---|---|---|---|
| compile | T | T | T | logback |
| test | F | T | F | junit |
| provided | T | T | F | servlet-api |
| runtime | F | T | T | jdbc |
| system | T | T | F | 储存在本地的jar包 |
import: 引入DependecyManagement
相关文章:
Maven 下载配置 详解 我的学习笔记
Maven 下载配置 详解 我的学习笔记 一、Maven 简介二、maven安装配置三、maven基本使用四、idea配置mavenidea配置maven环境maven坐标idea创建maven项目配置Maven-Helper插件 五、依赖管理 一、Maven 简介 Apache Maven 是一个项目管理和构建工具,它基于项目对象模型…...
【学术精选】SCI期刊《Electronics》特刊“New Challenges in Remote Sensing Image Processing“
英文名称:New Challenges in Remote Sensing Image Processing 中文名称:"遥感图像处理的新挑战"特刊 期刊介绍 “New Challenges in Remote Sensing Image Processing”特刊隶属于《Electronics》期刊,聚焦遥感图像处理领域快速…...
卷积神经网络——pytorch与paddle实现卷积神经网络
卷积神经网络——pytorch与paddle实现卷积神经网络 本文将深入探讨卷积神经网络的理论基础,并通过PyTorch和PaddlePaddle两个深度学习框架来展示如何实现卷积神经网络模型。我们将首先介绍卷积神经网络、图像处理的基本概念,这些理论基础是理解和实现卷…...
云平台虚拟机运维笔记整理,使用libvirt创建和管理虚拟机,以及开启虚拟机嵌套,虚拟磁盘扩容,物理磁盘扩容等等
云平台虚拟机运维笔记整理,使用libvirt创建和管理虚拟机,以及开启虚拟机嵌套,虚拟磁盘扩容,物理磁盘扩容等等。 掌握和使用qemu和libvirt,分别使用它们创建一个cirros虚拟机,并配置好网络。 宿主机node0的系统为ubuntu16,IP为192.168.56.200。 qemu和libvirt简介 QEMU…...
最佳实践:如何实现函数参数之间的TS类型相依赖和自动推断
引入 最近在开发一款极致优雅的前端状态管理库AutoStore时碰到这样一个问题。 拟实现Field组件,该组件相关类型简化代码如下: type Field (props:{validate,render:(props:{value,isValid}) })该组件,具有validate和render两个属性: 其中…...
Linux基础指令1
好久没写博客了,这次我将重新做人,每星期都更,做不到的话直接倒立洗头。最近在学Linux,感觉很厉害的样子,先浅学一下再弄数据结构去。 Linux的基本操作是通过指令来执行的,所以我们先来学习下指令。 1.简…...
软件设计师:排序算法总结
一、直接插入 排序方式:从第一个数开始,拿两个数比较,把后面一位跟前面的数比较,把较小的数放在前面一位 二、希尔 排序方式:按“增量序列(步长)”分组比较,组内元素比较交换 假设…...
「Mac畅玩鸿蒙与硬件25」UI互动应用篇2 - 计时器应用实现
本篇将带领你实现一个实用的计时器应用,用户可以启动、暂停或重置计时器。该项目将涉及时间控制、状态管理以及按钮交互,是掌握鸿蒙应用开发的重要步骤。 关键词 UI互动应用时间控制状态管理用户交互 一、功能说明 在这个计时器应用中,用户…...
计算机专业开题报告写法,该怎么写好?
不会写开题报告,或者想要一些论文模版的,欢迎评论,会第一时间给大家。 题报告是计算机专业大学毕业生在开展毕业设计或论文研究前,对研究课题进行详细介绍和计划的重要环节。作为开题者对科研课题的一种文字说明,开题…...
Vue(JavaScript)读取csv表格并求某一列之和(大浮点数处理: decimal.js)
文章目录 想要读这个表格,并且求第二列所有价格的和方法一:通过添加文件输入元素上传csv完整(正确)代码之前的错误部分因为价格是小数,所以下面的代码出错。如果把parseFloat改成parseInt,那么求和没有意义…...
Pyraformer复现心得
Pyraformer复现心得 引用 Liu, Shizhan, et al. “Pyraformer: Low-complexity pyramidal attention for long-range time series modeling and forecasting.” International conference on learning representations. 2021. 代码部分 def long_forecast(self, x_enc, x_m…...
成绩排序c++
说明 给出了班里某门课程的成绩单,请你按成绩从高到低对成绩单排序输出,如果有相同分数则名字字典序小的在前。 输入格式 第一行为nn(0<n<200<n<20),表示班里的学生数目; 接下来的nn行,每行为每个学生的名字和他的…...
人脸检测之MTCNN算法网络结构
MTCNN(Multi-task Cascaded Convolutional Networks)是一种用于人脸检测和关键点检测的深度学习模型,特别适合在复杂背景下识别出多尺度的人脸。它通过多任务学习来实现人脸检测和人脸关键点定位(如眼睛、鼻子、嘴巴的位置&#x…...
蓝桥杯顺子日期(填空题)
题目:小明特别喜欢顺子。顺子指的就是连续的三个数字:123、456 等。顺子日期指的就是在日期的 yyyymmdd 表示法中,存在任意连续的三位数是一个顺子的日期。例如 20220123 就是一个顺子日期,因为它出现了一个顺子:123&a…...
Java云HIS医院管理系统源码 病案管理、医保业务、门诊、住院、电子病历编辑
云HIS系统优势 (1)客户/用户角度 无需安装,登录即用 多终端同步,轻松应对工作环境转换 系统使用简单、易上手,信息展示主次分明、重点突出 极致降低用户操作负担:关联功能集中、减少跳转,键盘快…...
【C++的vector、list、stack、queue用法简单介绍】
【知识预告】 vector的介绍及使用list的介绍及使用list与vector的对比stack的介绍和使用queue的介绍和使用priority_queue的介绍和使用 1 vector的介绍及使用 1.1 vector的介绍 vector是表示可变大小数组的序列容器和数组类似,vector也采用连续存储空间来存储元…...
git中使用tag(标签)的方法及重要性
在Git中打标签(tag)通常用于标记发布版本或其他重要提交。 Git中打标签的步骤: 列出当前所有的标签 git tag创建一个指向特定提交的标签 git tag <tagname> <commit-hash>创建一个带注释的标签,通常用于发布版本 git…...
【专题】2024年文旅微短剧专题研究报告汇总PDF洞察(附原数据表)
原文链接: https://tecdat.cn/?p38187 当今时代,各类文化与消费领域呈现出蓬勃发展且不断变革的态势。 微短剧作为新兴内容形式,凭借网络发展与用户需求,从低成本都市题材为主逐步走向多元化,其内容供给类型正历经深…...
celery加速爬虫 使用flower 可视化地查看celery的实时监控情况
重点: celery ==5.4.0 python 3.11 flower ==2.0.1 请对齐celery与flower的版本信息,如果过低会导致报错 报错1: (venv) PS D:\apploadpath\pythonPath\Lib\site-packages> celery -A tasks flower Traceback (most recent call last):File …...
Angular进阶之十:toPromise废弃原因及解决方案
背景 Rxjs从V7开始废弃了toPromise, V8中会删除它。 原因 1:toPromise()只返回一个值 toPromise()将 Observable 序列转换为符合 ES2015 标准的 Promise 。它使用 Observable 序列的最后一个值。 例: import { Observable } from "rxjs"; ………...
Qwen-Image-2512-Pixel-Art-LoRA 模型v1.0 系列作品展:构建一个完整的像素风奇幻世界
Qwen-Image-2512-Pixel-Art-LoRA 模型v1.0 系列作品展:构建一个完整的像素风奇幻世界 朋友们,今天不聊代码,不聊部署,咱们来看点“好玩”的。最近我深度体验了Qwen-Image-2512-Pixel-Art-LoRA模型,它最让我惊喜的&…...
Granite TimeSeries FlowState R1电商销量预测实战:Vue前端可视化大屏
Granite TimeSeries FlowState R1电商销量预测实战:Vue前端可视化大屏 最近和几个做电商的朋友聊天,他们都在头疼同一个问题:备货。备多了怕压库存,备少了又怕错过销售高峰,眼睁睁看着流量来了却没货可发。传统的经验…...
Java开发必备:高德、百度、WGS84坐标互转实战(附完整代码)
Java开发实战:高德、百度与WGS84坐标系互转解决方案 当你需要在不同地图服务之间切换时,坐标系的差异往往会成为开发中的痛点。想象一下这样的场景:你的应用同时接入了高德地图和百度地图,用户上传的GPS数据却无法在两个平台上准确…...
为什么你的Monte Carlo期权定价结果总偏差>8%?:揭秘随机数种子、路径步长与方差缩减的3重陷阱
第一章:Monte Carlo期权定价偏差的典型现象与问题界定Monte Carlo方法在欧式、亚式及路径依赖型期权定价中广泛应用,但其数值结果常表现出系统性偏差——并非源于算法逻辑错误,而是由随机采样、方差结构与边界处理等多重因素耦合所致。实践中…...
SNAP小白必看:哨兵1 SLC数据预处理全流程详解(附避坑指南)
SNAP小白必看:哨兵1 SLC数据预处理全流程详解(附避坑指南) 在遥感数据处理领域,哨兵1号卫星提供的SLC(Single Look Complex)数据因其高分辨率和极化信息,成为地表监测、灾害评估等领域的重要数据…...
AnotherRedisDesktopManager:让Redis管理变得简单高效的5个理由
AnotherRedisDesktopManager:让Redis管理变得简单高效的5个理由 【免费下载链接】AnotherRedisDesktopManager qishibo/AnotherRedisDesktopManager: Another Redis Desktop Manager 是一款跨平台的Redis桌面管理工具,提供图形用户界面,支持连…...
别再瞎找了!盘点2026年顶流之选的AI论文写作软件
一天写完毕业论文在2026年已不再是天方夜谭。2026年最炸裂的AI论文写作软件来了,实测提速效果惊人,覆盖选题、撰写、查重、排版全流程,让你高效搞定论文不再难。 一、全流程王者:一站式搞定论文全链路(一天定稿首选&am…...
石墨烯这玩意儿在COMSOL里折腾起来挺有意思的,特别是搞太赫兹和近红外的同学估计都遇到过选模型的纠结。今天咱们就聊点实战经验,顺便甩点代码片段
Comsol石墨烯二维材料。 包含太赫兹德鲁得和近红外Kubo两种模型。 共7个案例,包含参考文献。先说说太赫兹波段常用的德鲁得模型,这货相当于把石墨烯当经典等离子体处理。在COMSOL里实现时,关键要设置表面电流密度: sigma_drude (…...
微信公众号开发入门:手把手教你配置接口信息(含服务器设置指南)
微信公众号开发从零到一:接口配置全流程详解 第一次接触微信公众号开发时,很多人会被"接口配置"这个概念吓到。作为一个从零开始摸索过来的开发者,我深知那种面对陌生术语时的茫然感。实际上,接口配置并没有想象中那么复…...
【Matlab】MATLAB教程:数据插值interp1(案例:interp1(x,y,xi,‘linear‘);应用:数据补全、插值)
MATLAB教程:数据插值interp1(案例:interp1(x,y,xi,linear);应用:数据补全、插值) 在科研实验、工程监测、信号采集等各类数据获取场景中,受限于设备精度、测试条件、环境干扰等因素,采集到的原始数据往往存在**数据点稀疏、采样间隔不均、局部数据缺失**等问题,直接使…...
