依赖范围

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

以上是关于依赖范围的主要内容,如果未能解决你的问题,请参考以下文章

maven的依赖范围

来自提供的范围依赖的传递依赖

Maven01_05_compile和test依赖范围Maven的一些依赖情况依赖冲突如果出现冲突就会采取就近原则可选依赖(optional)排除依赖(exclusions)

在pom.xml中引入jar包坐标的依赖范围

maven的依赖范围

Maven--依赖范围