依赖范围
Posted justart
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了依赖范围相关的知识,希望对你有一定的参考价值。
1、依赖范围scope
---影响编译时CLASSPATH、测试时类路径、运行时类路径
---会根据配置的值,按照构件坐标,把构件复制到指定的编译环境或运行环境所需的类路径
--test:依赖仅仅对测试编译和测试运行CLASSPATH可见
--compile:对编译、测试、运行都可见
--runtime:在运行时需要,编译时不需要,比如有接口就可以了
--provider:只在编译时依赖,构件在运行时由容器提供
--system同provider
2、最佳实践
--排除传递依赖后,再显式依赖
<dependencies>
<dependency>
<groupid>xxx</groupid>
<artifactid>xxx</artifactid>
<exclusions>
<exclusion>
</exclusion>
</exclusions>
</dependecy>
</dependencies>
--归类依赖:比如定义版本为属性,便于在项目引用,方便以后升级,
实用于相同项目的子模块的版本
<properties>
<springframework.version>5.5.6</springframework.version>
</properties>
--引用
-$springframework.version
3、查看依赖
mvn dependency:list
mvn dependency:tree
mvn dependency:analyze
以上是关于依赖范围的主要内容,如果未能解决你的问题,请参考以下文章
Maven01_05_compile和test依赖范围Maven的一些依赖情况依赖冲突如果出现冲突就会采取就近原则可选依赖(optional)排除依赖(exclusions)