一文读懂maven

news/2025/1/11 14:56:32/文章来源:https://www.cnblogs.com/SimonShen/p/18530733

一、什么是maven

  • maven是一个项目管理工具,通过pom.xml文件的配置获取jar包不用手动的去添加jar包

  • 就是在java项目和web项目上裹了一层maven,本质上java项目还是java项目,web项目还是web项目,但是包裹了maven之后,就可以使用maven提供的一些功能,即通过pom.xml添加jar包 就像在蜜汁鸡外面裹了一层面粉油炸一下变成了炸鸡,但是他还是一只鸡。

二、maven功能

1. 构建工程

2. 管理jar,

3. 编译代码,

4. 自动运行单元测试,

5. 打包

6. 生成报表,

7. 部署项目,生成web站点。

8.核心功能:依赖管理

  • maven工程不直接将jar包导入到工程中,而是通过再pom.xml中添加所需的jar包的坐标,这样就避免了jar直接引入进来,在需要用到jar包的时候,只要查找pom.xml文件,再通过pom.xml中的坐标,到一个专门用于存放jar包的仓库中根据坐标从而找到这些jar包,再把这些jar包拿去运行

  • maven 中也有索引的概念,通过建立索引,可以大大提高加载 jar 包的速度,使得我们认为 jar 包基本跟放在本地的工程文件中再读取出来的速度是一样的

9.仓库

  • 仓库就是存放jar包的地方,即我们前面说的通过pom.xml中通过设置索引来到仓库中寻找jar包 仓库分为:本地仓库,第三方仓库,中央仓库

  • 1.本地仓库 :用来存储从远程仓库或者中央仓库下载的插件和jar包,项目使用一些插件或jar包优先从本地仓库查找,默认本地仓库的位置在user.dir/.m2/repository,{user.dir}表示 windows 用户目录。

  • 2.第三方仓库,又称为内部中心仓库,又称为私服。私服:一般由公司自己设立,只为本公司内部共享使用,它既可以作为公司内部构建协作和存档,也可作为公用类库镜像缓存,减少在外部访问和下载的频率。使用私服为了减少对中央仓库的访问私服可以使用的是局域网,中央仓库必须使用外网。也就是一般公司都会创建这种第三方仓库,保证项目开发时,项目所需用的jar都从该仓库中拿,每个人的版本就都一样。 注意:连接私服,需要单独配置。如果没有配置私服,默认不使用。

    1. 在 maven 软件中内置一个远程仓库地址 http://repo1.maven.org/maven2 ,它是中央仓库,服务于整个互联网,它是由 Maven 团队自己维护,里面存储了非常全的 jar 包,它含了世界上大部分流行的开源项目构件。

三、maven的下载、安装和配置、

1.官网下载:

https://maven.apache.org/download.cgi

2.安装:


右键解压缩即可,注:maven的安装需要依赖jdk的安装,所以必须先安装完成jdk且配置好jdk环境变量后在进行maven的安装!

3.配置环境变量:

系统变量:

Path环境变量:

环境变量path的作用:提供windows命令行中指令的可执行文件路径,当我们在命令行中键入指令时,根据环境变量中的path值,找到对应的指令可执行文件进行执行。简单的说就是配置在path中的目录参数,在命令行中的任何目录下都可以使用。

检测是否安装成功:

cmd中输出版本信息即成功。

4.setting.xml文件配置

4.1 本地仓库配置

  • 磁盘中创建一个本地仓库文件夹

4.2 打开maven的安装目录,编辑conf中的settings.xml

4.2.1 修改本地仓库配置


检验是否修改成功:


生成文件夹即为成功:

4.2.2修改镜像源

点击查看代码
<mirror><id>alimaven</id><name>aliyun maven</name><url>http://maven.aliyun.com/nexus/content/groups/public/</url><mirrorOf>central</mirrorOf>
</mirror>
<mirror><id>alimaven</id><mirrorOf>central</mirrorOf><name>aliyun maven</name><url>http://maven.aliyun.com/nexus/content/repositories/central/</url>
</mirror>

4.3在idea中更改配置

到此我们的下载安装和配置基本完成。

四、maven的概念模型,生命周期和常用命令

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

浅析注意力(Attention)机制

Attention顾名思义,说明这项机制是模仿人脑的注意力机制建立的,我们不妨从这个角度展开理解 2.1 人脑的注意力机制 人脑的注意力机制,就是将有限的注意力资源分配到当前关注的任务,或关注的目标之上,暂时忽略其他不重要的因素,这是人类利用有限的注意力资源从大量信息中快…

HBase架构与基础命令

HBase架构与基础命令 一、了解HBase 官方文档:https://hbase.apache.org/1.1 HBase概述HBase 是一个高可靠性、高性能、面向列、可伸缩的分布式存储系统,用于存储海量的结构化或者半结构化,非结构化的数据(底层是字节数组做存储的) HBase是Hadoop的生态系统之一,是建立在…

Blender 效果制作:制作起伏不平的路面

前置准备正常纹理贴图,置换贴图,法线贴图,粗糙贴图方法一首先用UV坐标,纹理贴图,法线贴图,粗糙贴图构建材质将网格细分多一点,并采用置换修改器,置换修改器使用置换贴图获得成图方法二首先用UV坐标,纹理贴图,法线贴图,粗糙贴图构建材质细分网格将【置换】改成“置换…

团队作业4-第5篇Scrum博客

团队作业4-第5篇Scrum博客 1 站立式会议 1.1 会议照片1.2 会议内容 昨天已完成的工作:已初步完成数据库记录的备份、恢复和退出功能及账目记录的增删改功能今天计划完成的工作项目模块 需要实现的功能 负责人 预计用时主界面模块 右键实现增删改功能 黄锐 2h主界面模块 报告界…

PCFN

import torch import torch.nn as nn import torch.nn.functional as Fclass PCFN(nn.Module):使用带有GELU的激活函数的1*1卷积对扩展的隐藏空间进行跨信道交互。 然后将隐藏特征分割成两块 对其中一块使用3*3卷积核GELU激活函数 编码局部上下文将处理后的结果和另一块合并def…

Linux 内核如何装载和启动一个可执行程序

张晓攀+原创作品转载请注明出处+《Linux内核分析》MOOC课程https://mooc.study.163.com/course/1000029000 实验七——Linux 内核如何装载和启动一个可执行程序 一、实验过程 1.从github上下载相关代码2.然后用test_exec.c 替换test.c,再重新编译生成根文件系统3.启动调试内核…

java Runtime.exec()执行shell/cmd命令:常见的几种陷阱与一种完善实现

java Runtime.exec()执行shell/cmd命令:常见的几种陷阱与一种完善实现@目录背景说明前言Runtime.exec()常见的几种陷阱以及避免方法陷阱1:IllegalThreadStateException陷阱2:Runtime.exec()可能hang住,甚至死锁陷阱3:不同平台上,命令的兼容性陷阱4:错把Runtime.exec()的…

昆工891数据库系统原理强化课程

--昆工昆明理工大学、计算机技术、人工智能、软件工程、网络空间安全、891计算机专业核心综合、计算机系统结构、计算机软件与理论、网络与信息安全、计算机应用技术、综合程序设计、通信工程、817信号与系统、信号与信息处理、通信与信息系统

第7篇Scrum博客

1.站立式会议 1.1 会议照片1.2 会议内容 昨天已完成的工作: 昨天已基本实现用条形图,折线图,饼图展示数据界面功能。 今天计划完成的工作项目模块 需要实现的功能 负责人 预计用时主界面模块 整合代码,查漏补缺 王伊若 5h主界面模块 主界面设计 王伊若 2h主界面模块 查询界…

Ant Design Vue组件安装

https://www.antdv.com/docs/vue/getting-started-cn

书生共学大模型实战营L1G6000 XTuner微调

任务描述:使用XTuner微调InternLM2-Chat-7B实现自己的小助手认知 该任务分为数据集处理、微调训练、合并部署三个环节。数据处理:主要是将目标json文件中的字段替换为和自己用户名相关的字段,这里我们将“尖米”替换为“科研狗1031”:微调训练:采用教程中的XTuner框架,在…