dependencyManagement和dependencies区别

引语:

    平时java项目中我们经常使用maven,再多模块的项目中会经常见到父项目和子项目中的dependencyManagement,dependencies,今天我们就来介绍一下它们的区别。

dependencies,dependency,dependencyManagement这三个maven的pom文件标签都是用来进行包管理的。
势力范围由dependencyManagement>dependencies>dependency依次减弱,并且每个标签都是上一个标签的下级。
img

dependencyManagement和dependencies区别:

1.dependencies:自动引入声明在dependencies里的所有依赖,并默认被所有的子项目继承。如果项目中不写依赖项,则会从父项目
继承(属性全部继承)声明在父项目dependencies里的依赖项。
2.dependencyManagement里只是声明依赖(可以理解为只在父项目,外层来声明项目中要引入哪些jar包),因此子项目需要显示的声明需要的依赖。如果不在子项目中声明依赖,
是不会从父项目中继承的;只有在子项目中写了该依赖项,并且没有指定具体版本,才会从父项目中继承该项,并且version和scope都读取
自父pom;如果子项目中指定了版本号,那么会使用子项目中指定的jar版本。同时dependencyManagement让子项目引用依赖,而不用显示的列
出版本号。Maven会沿着父子层次向上走,直到找到一个拥有dependencyManagement元素的项目,然后它就会使用在这个
dependencyManagement元素中指定的版本号,实现所有子项目使用的依赖项为同一版本。
3.dependencyManagement 中的 dependencies 并不影响项目的依赖项;而独立dependencies元素则影响项目的依赖项。只有当外
层的dependencies元素中没有指明版本信息时,dependencyManagement 中的 dependencies 元素才起作用。一个是项目依赖,一个是maven
项目多模块情况时作依赖管理控制的。

  • 4
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
dependencies是指在项目中所需的依赖包。在npm中,有两个区块可以用来管理依赖包,分别是devDependenciesdependencies。devDependencies是用于开发环境的依赖,而dependencies是用于生产环境的依赖。\[1\] 使用npm i命令安装依赖包时,可以使用--save或-S参数来将依赖写入dependencies区块,使用--save-dev或-D参数来将依赖写入devDependencies区块。如果不写任何参数,则默认是本地安装,依赖会被写入dependencies区块。\[1\] 在package.json文件中,devDependencies区块中的依赖只用于开发环境,不会被用于生产环境。而dependencies区块中的依赖不仅可以在开发环境使用,也可以在生产环境使用。具体使用哪种环境的依赖是通过配置文件中的NODE_ENV来指定的。\[1\] 总结一下,如果开发的是一个工程项目,可以根据规范将依赖包安装在devDependenciesdependencies中,虽然没有实质性的区别,但为了规范起见,建议进行区分。如果开发的是一个组件库,建议将代码运行引用的库放在dependencies中,其他编译打包、eslint校验、开发相关的包放在devDependencies中。\[2\] 在安装一个组件时,使用npm install A命令,A组件依赖的devDependencies不会被下载,只会下载A组件的dependencies。在构建服务器配置的执行命令是npm install时,无论依赖包安装在devDependencies还是dependencies中,都没有区别,都会被下载。但是如果开发的项目作为一个组件库,建议严格管理好devDependenciesdependencies。\[3\] #### 引用[.reference_title] - *1* *2* *3* [dependencies和devDependencies区别](https://blog.csdn.net/Selina_lxh/article/details/127573921)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值