Maven 依赖管理 -- 依赖范围
Posted Z && Y
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Maven 依赖管理 -- 依赖范围相关的知识,希望对你有一定的参考价值。
1. 依赖范围
1.1 概念
1.2 分析
1.2.1 为什么log4j最好的作用范围是compile
主程序需要打印日志,测试的时候也需要打印日志,等到项目上线运行了也需要打印日志。
1.2.2 为什么junit最好的作用范围是test
仅仅在测试的时候使用
1.2.3 为什么servlet-api最好的作用范围是provided,即为什么不需要参与打包?
项目上线运行了,服务器端也有一个servlet-api,如果你打包的servlet-api和服务器端冲突了(版本号不一致),会导致服务端出错。
1.2.4 为什么jdbc最好的作用范围是runtime
我们在编写JDBC代码的时候,我们往项目里面导入com.mysql.jdbc.driver
但是我们从来没有在程序种用过这个类,这个依赖只是在打包的时候把他发布上去就好了
1.3 观察依赖作用范围现象
现象:
当我们把junit依赖的作用范围改为test后,就不可以在主程序中使用@Test了,会提示找不到类
以上是关于Maven 依赖管理 -- 依赖范围的主要内容,如果未能解决你的问题,请参考以下文章
04_项目一众筹00_05Maven依赖概念,依赖范围依赖传递性依赖的原则:解决jar包冲突依赖排除统一版本管理
Maven:Maven_02:依赖管理与冲突解决及项目继承聚合
maven课程 项目管理利器-maven 3-7 maven依赖范围 2星
Maven01_05_compile和test依赖范围Maven的一些依赖情况依赖冲突如果出现冲突就会采取就近原则可选依赖(optional)排除依赖(exclusions)