美文网首页
maven初识

maven初识

作者: Elliott_077d | 来源:发表于2020-10-18 23:11 被阅读0次

maven是java里面最常见的包管理器,在包管理方面前端与之类似的是JS的npm。相对于java,js的包管理起步无疑要晚很多,相对的也就很多借鉴的地方,下面就用类比的方式来谈一下maven的一些基本知识。

与package.json相对应的是pom.xml,也就是一个项目的描述,通过groupId,artifactId和version三个属性可以决定该引用的唯一性,与此同时,该项目相关依赖都在dependencies标签下面。

与js的dev- dependencies相对的是pom里面的包可以配置对应的scope,在不同的场景下使用。

对应的,一个项目的依赖也是一个树形的结构。

IMG_5F08E1C35883-1.jpeg

出于离线开发的考虑,在npm i或者刷新maven的时候,相关的依赖包就会被下载到本地包。如果偷懒,大可以就按照每个依赖一直往深处下载,直到最后一层。但这样是很不明智且浪费空间的做法。(早期的npm就不够智能)例如上图,B和D都依赖C,没有必要下载两次C。

现在的npm是会比较版本,相同版本的包只会下载一次,不同的再采用不同的包。但是java的包系统和js不同的地方在于java引入外部包的时候是会把外部包的路径加到环境变量中去寻找,这样包名具有唯一性,所以在两个依赖的包版本不一样的时候就会出现所谓的包冲突。

maven的包管理出现两个冲突时遵循两个原则:

  1. 深度不一样的情况选择路径短的
  2. 路径深度相同的情况选择先出现的
    两种情况优先选择的情况在上图都用红色标记出来了,换言之可以理解为一个从上到下的广度优先遍历。
IMG_B2F6404F8424-1.jpeg

关于maven包管理的基本信息目前只了解到这里,maven与npm不同的是自带了很完善的生命周期,而前端要做一些操作只能自己去写npm script,后续更多关于maven的使用了解之后再细说。

相关文章

  • Maven入门

    Maven 官网地址 中央仓库 一、初识Maven 引用来自maven官网的介绍: Apache Maven is...

  • Maven 初识

    一、Maven简介 Maven在美国口语中是专家、内行 的意思,是Apache下的一个纯 Java 开发的开源项目...

  • Maven 初识

    先提两个问题:Maven是什么?有什么用? 才接触Maven的时候也是一头雾水,网上搜索了一些资料后感觉Maven...

  • 初识Maven

    最近做项目要用到Maven,故对Maven进行了学习,初次接触后,觉得其实和前端的npm很相似,都是项目管理工具,...

  • Maven初识

    何为Maven 作用: 一个项目构建工具可以进行编译、单元测试、生成文档、打包、部署等。 一个依赖管理工具通过坐标...

  • 初识Maven

    1. Maven 是什么,有什么作用? Maven 是Apache组织中的一个开源项目,主要服务于基于java平台...

  • 初识maven

    简介、安装 maven是java的一个项目管理工具,有以下特性: 提供仓库管理所有jar包以及版本。本地仓库找不到...

  • 初识Maven

    1、【常用maven命令】cmd: mvn -v 查看maven版本信息 mvn clean:清理 mvn com...

  • maven初识

    maven是java里面最常见的包管理器,在包管理方面前端与之类似的是JS的npm。相对于java,js的包管理起...

  • Maven实战之初识Maven

    Maven实战之初识Maven Maven的简单介绍 作用:Maven主要用于项目的构建,管理项目的依赖以及项目的...

网友评论

      本文标题:maven初识

      本文链接:https://www.haomeiwen.com/subject/rgyhmktx.html