01-Maven基础-简介安装、基本使用(命令)、IDEA配置、(写jar,刷新自动下载)、依赖管理
文章目录
- 0、Maven
- 1、Maven 简介
- 2、Maven 安装配置
- 安装配置步骤
- 3、Maven 基本使用
- Maven 常用命令
- Maven 生命周期
- IDEA 配置 Maven
- Maven 坐标详解
- IDEA 创建 Maven 项目
- IDEA 导入 Maven 项目
- 配置 Maven-Helper 插件 (非常实用的小插件)
- 依赖管理
- 使用坐标导入 jar 包
- 依赖范围
0、Maven



1、Maven 简介

http://maven.apache.org/
所有3.0.4以上版本下载地址: https://archive.apache.org/dist/maven/maven-3/
注意:binaries 目录下才是 可执行文件, source是源代码不需要下载
导入的jar包其实也可以看成一个写好的小项目 让jar项目和我们的项目相互依赖起来,就可以互通了

中央仓库: https://repo1.maven.org/maven2/
2、Maven 安装配置


Version:3.8.1 就是说兼容 3.8.1及其之前的版本,装个3.6.1也没啥问题
所有3.0.4以上版本下载地址: https://archive.apache.org/dist/maven/maven-3/
注意:binaries 目录下才是 可执行文件, source是源代码不需要下载
安装配置步骤
-
- 下载解压到想安装的目录

- 下载解压到想安装的目录

-
2. 配置环境变量
新建系统环境变量:MAVEN_HOME值为maven安装根目录:C:\Program Files\maven\apache-maven-3.6.1

再将bin目录配置到系统环境变量的path里面
%MAVEN_HOME%\bin

写完后一路点击确定验证是否配置成功
cmd里输入:mvn -version
出现如下信息,证明配置成功

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


注意,本地仓库千万不要在 C:\Program Files\目录下,权限太高,后面命令行和idea会没有权限在里面创建目录(报错:Failed to create parent directories for tracking file)
<localRepository>C:\software\maven\apache-maven-3.6.1\mvn_resp</localRepository>
(如果保存时提示没有权限(一般安装在C盘Program目录下会有这个烦恼)则先将文件复制到桌面,在桌面修改好后再复制回去)
一般都习惯于在maven安转根目录下,新建一个文件夹,作为本地仓库所有jar包位置。但是如果你maven装在C:\Program Files\就不能这么干了

只能另外创建类似目录

-
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> </mirror>
同样保存不了的话,先将settings.xml复制到桌面,修改并保存好后再覆盖回去
3、Maven 基本使用
Maven 常用命令
先用一个现成的小项目,用命令行试试这些命令,以深入理解每个命令的作用
链接:https://pan.baidu.com/s/1bo2cK1hnt53CIqr239-aUA
提取码:rfyh
在项目的pom.xml所在目录下打开cmd

先看看本地仓库,啥也没有

-
执行编译命令:
mvn compile
第一次编译先会去阿里云私服下载编译工具带本地创仓库目录下,mvn_resp

第二次编译就不会了。
编译完成后,项目目录下会多出一个target目录,里面是整个项目所有编译好的结果 -
执行清理命令:
mvn clean
同样第一次执行会先下载对应的工具包。然后删除所有编译好的结果(删除target目录)

-
执行打包命令:
mvn package
(第一次执行也会先下载对呀工具包)

重新生产target目录,并将打好的包放在里面 (java项目打jar包,web项目打war包) -
执行测试命令:
mvn test
会自动执行src/test目录下的java代码

-
执行安装命令:
mvn install
会将当前项目打成jar包放到本地仓库下

- compile :编译
- clean:清理
- test:测试
- package:打包
- install:安装
Maven 生命周期

- default 构建生命周期

IDEA 配置 Maven

点maven home path 最右边 … 选择自己安装maven的根目录
勾选Override 选择自己安装maven的conf/settings.xml配置文件
(第三个本地仓库会自动识别出来的)

Maven 坐标详解

IDEA 创建 Maven 项目


若改骨架下没有自己想要的目录,可以自行创建,如:resources



quickstart自动帮你创建好了hello word!

IDEA 导入 Maven 项目

- 先将项目复制到工作目录下:

- IDEA maven面板里一件导入


现在只想maven命令就非常方便了,再也不用命令行手敲了

配置 Maven-Helper 插件 (非常实用的小插件)


idea连不上网,可能需要开梯子。
此插件可以更方便地执行maven命令,甚至可以Debug maven

依赖管理
使用坐标导入 jar 包
在maven-demo的pom.xml下演示

- 方式1:手写

注意:第一次写某种jar包是没有代码提示的,得百度好坐标应该咋写,然后,手动刷新,让maven去下载jar包到本地仓库,然后以后写就都会有代码提示了
- 方式2:搜索(本地仓库已经有的) (也还不错)

新版本是自动帮你生成代码了。或者就是已经有依赖,再用就不好使了

- 配置写完后自动生效 不用手动点击刷新按钮

依赖范围


编译环境就是main目录下的代码
测试环境就是test目录下的代码
注意:JDK17 得配置好编译版本 (否则执行报错)
<properties><maven.compiler.source>17</maven.compiler.source><maven.compiler.target>17</maven.compiler.target></properties>

运行时无效就是说:将来项目打包后,不会将对应的jar包复制过去。(打好的包内无对应jar包)
不配置依赖范围,scope,默认就是compile,所有环境都有效。大部分情况都采用默认,直接都有效
相关文章:
01-Maven基础-简介安装、基本使用(命令)、IDEA配置、(写jar,刷新自动下载)、依赖管理
文章目录0、Maven1、Maven 简介2、Maven 安装配置安装配置步骤3、Maven 基本使用Maven 常用命令Maven 生命周期IDEA 配置 MavenMaven 坐标详解IDEA 创建 Maven 项目IDEA 导入 Maven 项目配置 Maven-Helper 插件 (非常实用的小插件)依赖管理使用坐标导入 jar 包依赖范围0、Maven…...
一、前端稳定性规约该如何制定
前言 稳定性是数学或工程上的用语,判别一系统在有界的输入是否也产生有界的输出。若是,称系统为稳定;若否,则称系统为不稳定。 前端稳定性的体系建设大约可以分为了发布前,发布后,以及事故解决后三个阶段…...
Docker(三)Docker网络
目录1 结论知识2 link3 自定义网络1 结论知识 每一个容器启动时都会被分配一个ip地址;宿主机可以ping通任何一个docker容器;启动docker之后,宿主机默认网卡docker0,启动容器在宿主机注册网卡,使用的evth-pair技术&…...
Js高级API
Decorator装饰器 针对属性 / 方法的装饰器 // decorator 外部可以包装一个函数,函数可以带参数function Decorator (type) {/*** 这里是真正的decorator* description: 装饰的对象的描述对象* target:装饰的属性所述类的原型,不是实例后的类。如果装饰…...
团队:在人身上,你到底愿意花多大精力?
你好,我是叶芊。 今天我们讨论怎么带团队这个话题,哎先别急着走,你可能跟很多人一样,觉得带团队离我还太远,或者觉得我才不要做管理,我要一路技术走到底,但是你知道吗?带团队做事&am…...
Linux-Poolkit提权
Linux-Poolkit提权 漏洞复现- Linux Polkit 权限提升漏洞(CVE-2021-4034) 0x00 前言 polkit是一个授权管理器,其系统架构由授权和身份验证代理组成,pkexec是其中polkit的其中一个工具,他的作用有点类似于sudo&#x…...
【React全家桶】React Hooks
React Hookshooks介绍useState(保存组件状态)useEffect()useCallback(记忆函数)useMemo() 记忆组件useRef(保存引用值)useReducer()useContext(减少组件层级)自定义hookshooks介绍 在react类组件(class)写法中,有setState和生命周期对状态进…...
CLIP论文阅读
Learning Transferable Visual Models From Natural Language Supervision 利用自然语言的监督信号学习可迁移的视觉模型 概述 迁移学习方式就是先在一个较大规模的数据集如ImageNet上预训练,然后在具体的下游任务上再进行微调。这里的预训练是基于有监督训练的&am…...
华为OD机试真题Python实现【身高排序】真题+解题思路+代码(20222023)
身高排序 题目 小明今年升学到了小学一年级, 来到新班级后,发现其他小朋友身高参差不齐, 然后就想基于各小朋友和自己的身高差,对他们进行排序, 请帮他实现排序 🔥🔥🔥🔥🔥👉👉👉👉👉👉 华为OD机试(Python)真题目录汇总 输入 第一行为正整数H…...
Spring Cache的使用--快速上手篇
系列文章目录 分页查询–Java项目实战篇 全局异常处理–Java实战项目篇 完善登录功能–过滤器的使用 更多该系列文章请查看我的主页哦 文章目录系列文章目录前言一、Spring Cache介绍二、Spring Cache的使用1. 导入依赖2. 配置信息3. 在启动类上添加注解4. 添加注解4.1 CacheP…...
(三十八)MySQL是如何支持4种事务隔离级别的?Spring事务注解是如何设置的?
上次我们讲完了SQL标准下的4种事务隔离级别,平时比较多用的就是RC和RR两种级别,那么在MySQL中也是支持那4种隔离级别的,基本的语义都是差不多的 但是要注意的一点是,MySQL默认设置的事务隔离级别,都是RR级别的&#x…...
【博学谷学习记录】大数据课程-学习第八周总结
Hadoop初体验 使用HDFS 1.从Linux本地上传一个文本文件到hdfs的/目录下 #在/export/data/目录中创建a.txt文件,并写入数据 cd /export/data/ touch a.txt echo "hello" > a.txt #将a.txt上传到HDFS的根目录 hadoop fs -put a.txt /2.通过页面查看…...
go cobra初试
cobra开源地址 https://github.com/spf13/cobra cobra是什么 Cobra is a library for creating powerful modern CLI applications. Cobra is used in many Go projects such as Kubernetes, Hugo, and GitHub CLI to name a few. This list contains a more extensive lis…...
【react全家桶】 事件处理
文章目录03 【事件处理】1.React事件2.类式组件绑定事件3.向事件处理程序传递参数4.收集表单数据5.受控和非受控组件5.函数的柯里化03 【事件处理】 React的事件是通过onXxx属性指定事件处理函数 React 使用的是自定义事件,而不是原生的 DOM 事件 React 的事件是通过…...
RabbitMQ交换机(Exchanges)
目录 一、概念 二、临时队列 三、绑定 四、Fanout(扇出交换机) (一)介绍 (二)实战 五、Direct(直接交换机) (一)介绍 (二)实…...
2023年java初级面试题10道基础试水题
1、面向对象的特征有哪些方面?答:面向对象的特征主要有以下几个方面:1)抽象:抽象是将一类对象的共同特征总结出来构造类的过程,包括数据抽象和行为抽象两方面。抽象只关注对象有哪些属性和行为,并不关注这些行为的细节…...
烙铁使用方法
烙铁使用 烙铁是硬件工程师最经常使用的工具之一,一把性能保持良好的烙铁能帮助我们快速进行电路调试。烙铁第一次加热时采用焊锡均匀涂覆在烙铁头上,以便去除包在烙铁头上面的氧化物。在工作中我们需要根据情况选择合适的烙铁头类型,合适的温度进行操作。完成焊接后要在烙铁…...
golang日期转换、日期增减计算、时间戳转换
// 固定日期格式format : "2006-01-02 15:04:05"// 按本地时区解析日期location, _ : time.ParseInLocation(format, "2022-02-20 11:30:00", time.Local)// 增加1年,三个参数分别是:年,月,日date : location…...
Android 多种支付方式的优雅实现
场景App 的支付流程,添加多种支付方式,不同的支付方式,对应的操作不一样,有的会跳转到一个新的webview,有的会调用系统浏览器,有的会进去一个新的表单页面,等等。并且可以添加的支付方式也是不确…...
算法设计与分析期末考试复习(三)
动态规划 动态规划算法与分治法类似,其基本思想也是将待求解问题分成若干个子问题。但是经分解得到的子问题往往不是互相独立的。在用分治法求解时,有些子问题被重复计算机了许多次。 如果能够保存已解决的子问题的答案,而在需要时再找出已求…...
应用升级/灾备测试时使用guarantee 闪回点迅速回退
1.场景 应用要升级,当升级失败时,数据库回退到升级前. 要测试系统,测试完成后,数据库要回退到测试前。 相对于RMAN恢复需要很长时间, 数据库闪回只需要几分钟。 2.技术实现 数据库设置 2个db_recovery参数 创建guarantee闪回点,不需要开启数据库闪回。…...
Appium+python自动化(十六)- ADB命令
简介 Android 调试桥(adb)是多种用途的工具,该工具可以帮助你你管理设备或模拟器 的状态。 adb ( Android Debug Bridge)是一个通用命令行工具,其允许您与模拟器实例或连接的 Android 设备进行通信。它可为各种设备操作提供便利,如安装和调试…...
相机Camera日志分析之三十一:高通Camx HAL十种流程基础分析关键字汇总(后续持续更新中)
【关注我,后续持续新增专题博文,谢谢!!!】 上一篇我们讲了:有对最普通的场景进行各个日志注释讲解,但相机场景太多,日志差异也巨大。后面将展示各种场景下的日志。 通过notepad++打开场景下的日志,通过下列分类关键字搜索,即可清晰的分析不同场景的相机运行流程差异…...
Android Bitmap治理全解析:从加载优化到泄漏防控的全生命周期管理
引言 Bitmap(位图)是Android应用内存占用的“头号杀手”。一张1080P(1920x1080)的图片以ARGB_8888格式加载时,内存占用高达8MB(192010804字节)。据统计,超过60%的应用OOM崩溃与Bitm…...
windows系统MySQL安装文档
概览:本文讨论了MySQL的安装、使用过程中涉及的解压、配置、初始化、注册服务、启动、修改密码、登录、退出以及卸载等相关内容,为学习者提供全面的操作指导。关键要点包括: 解压 :下载完成后解压压缩包,得到MySQL 8.…...
离线语音识别方案分析
随着人工智能技术的不断发展,语音识别技术也得到了广泛的应用,从智能家居到车载系统,语音识别正在改变我们与设备的交互方式。尤其是离线语音识别,由于其在没有网络连接的情况下仍然能提供稳定、准确的语音处理能力,广…...
pycharm 设置环境出错
pycharm 设置环境出错 pycharm 新建项目,设置虚拟环境,出错 pycharm 出错 Cannot open Local Failed to start [powershell.exe, -NoExit, -ExecutionPolicy, Bypass, -File, C:\Program Files\JetBrains\PyCharm 2024.1.3\plugins\terminal\shell-int…...
企业大模型服务合规指南:深度解析备案与登记制度
伴随AI技术的爆炸式发展,尤其是大模型(LLM)在各行各业的深度应用和整合,企业利用AI技术提升效率、创新服务的步伐不断加快。无论是像DeepSeek这样的前沿技术提供者,还是积极拥抱AI转型的传统企业,在面向公众…...
多元隐函数 偏导公式
我们来推导隐函数 z z ( x , y ) z z(x, y) zz(x,y) 的偏导公式,给定一个隐函数关系: F ( x , y , z ( x , y ) ) 0 F(x, y, z(x, y)) 0 F(x,y,z(x,y))0 🧠 目标: 求 ∂ z ∂ x \frac{\partial z}{\partial x} ∂x∂z、 …...
[特殊字符] 手撸 Redis 互斥锁那些坑
📖 手撸 Redis 互斥锁那些坑 最近搞业务遇到高并发下同一个 key 的互斥操作,想实现分布式环境下的互斥锁。于是私下顺手手撸了个基于 Redis 的简单互斥锁,也顺便跟 Redisson 的 RLock 机制对比了下,记录一波,别踩我踩过…...
