首页 > 其他分享 >一文读懂maven

一文读懂maven

时间:2024-11-17 19:09:57浏览次数:1  
标签:xml 一文 仓库 私服 jar maven 读懂 pom

一、什么是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的概念模型,生命周期和常用命令

标签:xml,一文,仓库,私服,jar,maven,读懂,pom
From: https://www.cnblogs.com/SimonShen/p/18530733

相关文章

  • 一文带你了解防火墙的三种工作模式:路由模式、透明模式(网桥)、混合模式。网络安全零基础
    防火墙作为网络安全的核心设备之一,扮演着至关重要的角色。它不仅能够有效防御外部网络的攻击,还能保护内部网络的安全。在如今复杂多样的网络环境下,防火墙的部署和工作模式直接影响着网络安全策略的实施效果。防火墙通常可以工作在三种模式下:路由模式、透明模式(网桥模式)以及......
  • 一文搞懂!结构体成员与结构体成员变量有什么区别
    结构体成员:定义在结构体内部的各个变量或数据项,用来表示结构体的不同属性;结构体成员变量:具体的结构体实例中的成员变量值。例如SqList结构体,包含data、length两个结构体的成员,它们的数据类型分别是Elemtype数组和int整型:typedefstruct{ElemTypedata[MaxSize];......
  • 一文搞懂!数组作为函数输入如何声明?
    一维数组函数形参定义:voidarray_print(inta[])一维数组指针函数形参定义:voidarray_print(int*a)二维数组函数形参定义://必须指明数组的列数,数组的行数没有太大关系//因为函数调用时传递的是一个指针,它指向由行向量构成的一维数组//所以以下两种声明方式都可以......
  • 一文讲透 FPGA CDC 多bit跨时钟域同步-hand-shanking机制
    一、背景数据的跨时钟域处理是FPGA开发过程中的常见问题,存在两种情况慢时钟向快时钟同步:只需在快时钟域打两拍即可。其RTL如下:打拍同步的原理:大家在初学FPGA时,经常听过FPGA中对信号打拍可以有效得避免亚稳态,而且一般要打两拍,其数学本质是如果打一拍发生错误得概率是1/1000......
  • 一文详解Java反射技术
    Java反射什么是Java反射以及引出反射的背景?Class类如何获取一个class的Class实例Class类的使用获取属性获取调用方法获取注解信息获取构造方法反射的应用什么是Java反射以及引出反射的背景?Java程序中的对象有两种类型,编译时类型和运行时类型,而很多时候编译......
  • 一文彻底搞懂线程中断interrupt导致sleep报InterruptException
    目录一文彻底搞懂线程中断interrupt导致sleep报InterruptException问题再现问题分析问题解决总结一文彻底搞懂线程中断interrupt导致sleep报InterruptException问题再现以下这个场景:publicclassThreadDemo13{publicstaticvoidmain(String[]args)thro......
  • Maven项目管理工具概述
    Maven简介Maven概念Maven是java平台下的一款项目构建和依赖的管理工具,maven通过使用配置文件的方式,使得在项目管理和交接方面成本变得很低。maven提出了一个仓库的概念,我们可以把第三方或者需要引用的项目,放在maven仓库中,当任何人需要使用时,可以通过配置文件,直接连仓库进......
  • 一文掌握:java编译器:跑通helloworld并了解核心原理
    本文旨在详细介绍Java编译器的工作原理及其在Windows系统下的具体使用方法,包括安装步骤、常用命令介绍以及大致原理。通过本文,你可以全面掌握从编写代码到生成可执行文件的全过程,为Java开发奠定坚实的基础。Windows下Java环境的搭建与程序编译为了在Windows环境下运行Jav......
  • SaaS,PaaS,IaaS是什么意思?一文教你弄懂!
    企业在做数字化转型时是自研系统还是购买三方系统?相信遇到这类问题的朋友是处在了企业业务拓展与系统建设的高速发展阶段,亟待解决企业内部系统规划,同时还怀着系统决策的迫切要求。系统决策实在重要。在前期业务量不够时也许还看不出来,但是当业务发展时,系统这块如果出现了问题......
  • 一文解读GaussDB(DWS)监控运维诊断优化能力
    本文分享自华为云社区《GaussDB(DWS)监控运维诊断优化,历史查询诊断》,作者:yd_219384351。 DWS历史查询诊断,基于DWS集群历史topsql,提供异常诊断能力。提供SQL趋势统计分析曲线图,展示SQL历史运行趋势;提供历史topsql异常诊断能力,识别资源占用高,运行时间长,以及运行异常的烂SQL,展示......