当前位置: 首页 > news >正文

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>

作用

  1. 标准化的项目结构
  2. 标准化的构建流程
  3. 方便的依赖管理

Maven 模型

  1. 项目对象模型 (Project Object Model)
  2. 依赖管理模型(Dependency)
  3. 插件(Plugin)

Maven 仓库

  1. 仓库分类:

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

  1. 查找依赖对应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套

同一生命周期内,执行后边的命令,前边的所有命令会自动执行

  1. clean:清理工作
  2. default:核心工作,例如编译,测试,打包,安装等
  3. 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 包

  1. 在 pom.xml 中编写 <dependencies> 标签
  2. <dependencies> 标签中 使用<dependency>引入坐标
  3. 定义坐标的 groupId artifactId version
  4. 点击刷新按钮,使坐标生效

在这里插入图片描述

依赖范围

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

在这里插入图片描述

依赖范围编译测试运行例子
compileTTTlogback
testFTFjunit
providedTTFservlet-api
runtimeFTTjdbc
systemTTF储存在本地的jar包

import: 引入DependecyManagement

相关文章:

Maven 下载配置 详解 我的学习笔记

Maven 下载配置 详解 我的学习笔记 一、Maven 简介二、maven安装配置三、maven基本使用四、idea配置mavenidea配置maven环境maven坐标idea创建maven项目配置Maven-Helper插件 五、依赖管理 一、Maven 简介 Apache Maven 是一个项目管理和构建工具&#xff0c;它基于项目对象模型…...

【学术精选】SCI期刊《Electronics》特刊“New Challenges in Remote Sensing Image Processing“

英文名称&#xff1a;New Challenges in Remote Sensing Image Processing 中文名称&#xff1a;"遥感图像处理的新挑战"特刊 期刊介绍 “New Challenges in Remote Sensing Image Processing”特刊隶属于《Electronics》期刊&#xff0c;聚焦遥感图像处理领域快速…...

卷积神经网络——pytorch与paddle实现卷积神经网络

卷积神经网络——pytorch与paddle实现卷积神经网络 本文将深入探讨卷积神经网络的理论基础&#xff0c;并通过PyTorch和PaddlePaddle两个深度学习框架来展示如何实现卷积神经网络模型。我们将首先介绍卷积神经网络、图像处理的基本概念&#xff0c;这些理论基础是理解和实现卷…...

云平台虚拟机运维笔记整理,使用libvirt创建和管理虚拟机,以及开启虚拟机嵌套,虚拟磁盘扩容,物理磁盘扩容等等

云平台虚拟机运维笔记整理,使用libvirt创建和管理虚拟机,以及开启虚拟机嵌套,虚拟磁盘扩容,物理磁盘扩容等等。 掌握和使用qemu和libvirt,分别使用它们创建一个cirros虚拟机,并配置好网络。 宿主机node0的系统为ubuntu16,IP为192.168.56.200。 qemu和libvirt简介 QEMU…...

最佳实践:如何实现函数参数之间的TS类型相依赖和自动推断

引入 最近在开发一款极致优雅的前端状态管理库AutoStore时碰到这样一个问题。 拟实现Field组件&#xff0c;该组件相关类型简化代码如下&#xff1a; type Field (props:{validate,render:(props:{value,isValid}) })该组件&#xff0c;具有validate和render两个属性: 其中…...

Linux基础指令1

好久没写博客了&#xff0c;这次我将重新做人&#xff0c;每星期都更&#xff0c;做不到的话直接倒立洗头。最近在学Linux&#xff0c;感觉很厉害的样子&#xff0c;先浅学一下再弄数据结构去。 Linux的基本操作是通过指令来执行的&#xff0c;所以我们先来学习下指令。 1.简…...

软件设计师:排序算法总结

一、直接插入 排序方式&#xff1a;从第一个数开始&#xff0c;拿两个数比较&#xff0c;把后面一位跟前面的数比较&#xff0c;把较小的数放在前面一位 二、希尔 排序方式&#xff1a;按“增量序列&#xff08;步长&#xff09;”分组比较&#xff0c;组内元素比较交换 假设…...

「Mac畅玩鸿蒙与硬件25」UI互动应用篇2 - 计时器应用实现

本篇将带领你实现一个实用的计时器应用&#xff0c;用户可以启动、暂停或重置计时器。该项目将涉及时间控制、状态管理以及按钮交互&#xff0c;是掌握鸿蒙应用开发的重要步骤。 关键词 UI互动应用时间控制状态管理用户交互 一、功能说明 在这个计时器应用中&#xff0c;用户…...

计算机专业开题报告写法,该怎么写好?

不会写开题报告&#xff0c;或者想要一些论文模版的&#xff0c;欢迎评论&#xff0c;会第一时间给大家。 题报告是计算机专业大学毕业生在开展毕业设计或论文研究前&#xff0c;对研究课题进行详细介绍和计划的重要环节。作为开题者对科研课题的一种文字说明&#xff0c;开题…...

Vue(JavaScript)读取csv表格并求某一列之和(大浮点数处理: decimal.js)

文章目录 想要读这个表格&#xff0c;并且求第二列所有价格的和方法一&#xff1a;通过添加文件输入元素上传csv完整&#xff08;正确&#xff09;代码之前的错误部分因为价格是小数&#xff0c;所以下面的代码出错。如果把parseFloat改成parseInt&#xff0c;那么求和没有意义…...

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++

说明 给出了班里某门课程的成绩单&#xff0c;请你按成绩从高到低对成绩单排序输出&#xff0c;如果有相同分数则名字字典序小的在前。 输入格式 第一行为nn(0<n<200<n<20)&#xff0c;表示班里的学生数目; 接下来的nn行&#xff0c;每行为每个学生的名字和他的…...

人脸检测之MTCNN算法网络结构

MTCNN&#xff08;Multi-task Cascaded Convolutional Networks&#xff09;是一种用于人脸检测和关键点检测的深度学习模型&#xff0c;特别适合在复杂背景下识别出多尺度的人脸。它通过多任务学习来实现人脸检测和人脸关键点定位&#xff08;如眼睛、鼻子、嘴巴的位置&#x…...

蓝桥杯顺子日期(填空题)

题目&#xff1a;小明特别喜欢顺子。顺子指的就是连续的三个数字&#xff1a;123、456 等。顺子日期指的就是在日期的 yyyymmdd 表示法中&#xff0c;存在任意连续的三位数是一个顺子的日期。例如 20220123 就是一个顺子日期&#xff0c;因为它出现了一个顺子&#xff1a;123&a…...

Java云HIS医院管理系统源码 病案管理、医保业务、门诊、住院、电子病历编辑

云HIS系统优势 &#xff08;1&#xff09;客户/用户角度 无需安装&#xff0c;登录即用 多终端同步&#xff0c;轻松应对工作环境转换 系统使用简单、易上手&#xff0c;信息展示主次分明、重点突出 极致降低用户操作负担&#xff1a;关联功能集中、减少跳转&#xff0c;键盘快…...

【C++的vector、list、stack、queue用法简单介绍】

【知识预告】 vector的介绍及使用list的介绍及使用list与vector的对比stack的介绍和使用queue的介绍和使用priority_queue的介绍和使用 1 vector的介绍及使用 1.1 vector的介绍 vector是表示可变大小数组的序列容器和数组类似&#xff0c;vector也采用连续存储空间来存储元…...

git中使用tag(标签)的方法及重要性

在Git中打标签&#xff08;tag&#xff09;通常用于标记发布版本或其他重要提交。 Git中打标签的步骤&#xff1a; 列出当前所有的标签 git tag创建一个指向特定提交的标签 git tag <tagname> <commit-hash>创建一个带注释的标签&#xff0c;通常用于发布版本 git…...

【专题】2024年文旅微短剧专题研究报告汇总PDF洞察(附原数据表)

原文链接&#xff1a; https://tecdat.cn/?p38187 当今时代&#xff0c;各类文化与消费领域呈现出蓬勃发展且不断变革的态势。 微短剧作为新兴内容形式&#xff0c;凭借网络发展与用户需求&#xff0c;从低成本都市题材为主逐步走向多元化&#xff0c;其内容供给类型正历经深…...

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&#xff1a;toPromise()只返回一个值 toPromise()将 Observable 序列转换为符合 ES2015 标准的 Promise 。它使用 Observable 序列的最后一个值。 例&#xff1a; import { Observable } from "rxjs"; ………...

C++:std::is_convertible

C++标志库中提供is_convertible,可以测试一种类型是否可以转换为另一只类型: template <class From, class To> struct is_convertible; 使用举例: #include <iostream> #include <string>using namespace std;struct A { }; struct B : A { };int main…...

Spring Boot 实现流式响应(兼容 2.7.x)

在实际开发中&#xff0c;我们可能会遇到一些流式数据处理的场景&#xff0c;比如接收来自上游接口的 Server-Sent Events&#xff08;SSE&#xff09; 或 流式 JSON 内容&#xff0c;并将其原样中转给前端页面或客户端。这种情况下&#xff0c;传统的 RestTemplate 缓存机制会…...

UDP(Echoserver)

网络命令 Ping 命令 检测网络是否连通 使用方法: ping -c 次数 网址ping -c 3 www.baidu.comnetstat 命令 netstat 是一个用来查看网络状态的重要工具. 语法&#xff1a;netstat [选项] 功能&#xff1a;查看网络状态 常用选项&#xff1a; n 拒绝显示别名&#…...

Linux简单的操作

ls ls 查看当前目录 ll 查看详细内容 ls -a 查看所有的内容 ls --help 查看方法文档 pwd pwd 查看当前路径 cd cd 转路径 cd .. 转上一级路径 cd 名 转换路径 …...

质量体系的重要

质量体系是为确保产品、服务或过程质量满足规定要求&#xff0c;由相互关联的要素构成的有机整体。其核心内容可归纳为以下五个方面&#xff1a; &#x1f3db;️ 一、组织架构与职责 质量体系明确组织内各部门、岗位的职责与权限&#xff0c;形成层级清晰的管理网络&#xf…...

(二)原型模式

原型的功能是将一个已经存在的对象作为源目标,其余对象都是通过这个源目标创建。发挥复制的作用就是原型模式的核心思想。 一、源型模式的定义 原型模式是指第二次创建对象可以通过复制已经存在的原型对象来实现,忽略对象创建过程中的其它细节。 📌 核心特点: 避免重复初…...

unix/linux,sudo,其发展历程详细时间线、由来、历史背景

sudo 的诞生和演化,本身就是一部 Unix/Linux 系统管理哲学变迁的微缩史。来,让我们拨开时间的迷雾,一同探寻 sudo 那波澜壮阔(也颇为实用主义)的发展历程。 历史背景:su的时代与困境 ( 20 世纪 70 年代 - 80 年代初) 在 sudo 出现之前,Unix 系统管理员和需要特权操作的…...

前端开发面试题总结-JavaScript篇(一)

文章目录 JavaScript高频问答一、作用域与闭包1.什么是闭包&#xff08;Closure&#xff09;&#xff1f;闭包有什么应用场景和潜在问题&#xff1f;2.解释 JavaScript 的作用域链&#xff08;Scope Chain&#xff09; 二、原型与继承3.原型链是什么&#xff1f;如何实现继承&a…...

UR 协作机器人「三剑客」:精密轻量担当(UR7e)、全能协作主力(UR12e)、重型任务专家(UR15)

UR协作机器人正以其卓越性能在现代制造业自动化中扮演重要角色。UR7e、UR12e和UR15通过创新技术和精准设计满足了不同行业的多样化需求。其中&#xff0c;UR15以其速度、精度及人工智能准备能力成为自动化领域的重要突破。UR7e和UR12e则在负载规格和市场定位上不断优化&#xf…...

laravel8+vue3.0+element-plus搭建方法

创建 laravel8 项目 composer create-project --prefer-dist laravel/laravel laravel8 8.* 安装 laravel/ui composer require laravel/ui 修改 package.json 文件 "devDependencies": {"vue/compiler-sfc": "^3.0.7","axios": …...