dependencies「dependencies和devdependencies」
devDependencies和dependencies的区别
区别是:
dependencies 程序正常运行需要的包。

devDependencies 是开发需要的包,比如 一些单元测试的包之类的。
一个node package有两种依赖,一种是dependencies一种是devDependencies,
其中前者依赖的项该是正常运行该包时所需要的依赖项,
而后者则是开发的时候需要的依赖项,像一些进行单元测试之类的包。
如果将包下载下来在包的根目录里运行npm install默认会安装两种依赖,如果只是单纯的使用这个包而不需要进行一些改动测试之类的,可以使用npm install --production,只安装dependencies而不安装devDependencies。
如果是通过以下命令进行安装npm install packagename那么只会安装。dependencies,如果想要安装devDependencies,需要输入。npm install packagename --dev。
maven中的 dependencies 和 dependencyManagement 的区别
在Maven中dependencyManagement的作用其实相当于一个对所依赖jar包进行版本管理的管理器。
在dependencyManagement下申明的dependencies,Maven并不会去实际下载所依赖的jar包,而是在dependencyManagement中用一个Map记录了jar的三维坐标。
而被仅仅是被dependencies包裹的元素,Maven是会去仓库实际下载所需要的jar包的,而至于需要下载什么
版本的jar包就有两种判断途径:
1:如果dependencies里的dependency自己没有声明version元素,那么maven就
会倒dependencyManagement里面去找有没有对该artifactId和groupId进行过版本声明,如果有,就继承它,如果没有就会报错,告诉你必须为dependency声明一个version
2:如果dependencies中的dependency声明了version,那么无论dependencyManagement中有无对该jar的version声明,都以dependency里的version为准。
pom.xml
//只是对版本进行管理,不会实际引入jar
dependencyManagement
dependencies
dependency
groupIdorg.springframework/groupId
artifactIdspring-core/artifactId
version3.2.7/version
/dependency
/dependencies
/dependencyManagement
//会实际下载jar包
dependencies
dependency
groupIdorg.springframework/groupId
artifactIdspring-core/artifactId
/dependency
/dependencies
可以看到dependecies元素下的dependency里并没有声明版本,这是因为在manager中已经将版本管理起来了。
比如我们在项目中需要引入一个框架A的jar包:a.jar。而A框架的作者为了实现A框架又在其pom里面引入了spring框架,那么问题就来了,如果我们的项目也要用到spring框架,那spring框架的版本应该以谁的为准呢?
这可能就是dependencyManagement的作用了,你可以在dependencyManagement中对spring进行版本声明,然后你在dependencies中添加对A框架的引用,那么实际引入的spring版本就是你在dependencyManagement中声明的版本了。
dependencies是什么意思
dependencies
英[dɪ'pendənsɪz]
美[dɪ'pendənsɪz]
n. 属国,附庸国( dependency的名词复数 )
dependencies什么意思
dependencies是dependency的复数
dependency
美 [dɪ'pendənsi]英 [dɪ'pendənsi]
n.依存;属地;从属物
依赖;依赖关系;依赖性
例句筛选
1.
Your project or one of its dependencies does not currently build.
当前未生成项目或其中一个依赖项。
2.
Attempt to drop dependencies to any objects that are not part of thepublication.
尝试删除不属于发布一部分的任何对象的依赖项。
