test

依赖 Scope

依赖Scope作用有两个:1. 限制依赖传递:2. 控制依赖是否出现在各个classpath中。Maven 中有五种依赖scope,分别是:compile,provided,runtime,testsystem。 下面是引用自Maven官网的说明:

一,provided

provided表示在build,test阶段都有依赖,在runtime时并不输出依赖关系而是由容器提供,例如web war包都不包括servlet-api.jar,而是由tomcat等容器来提供

<dependency>
    <groupId>javax.servlet</groupId>
    <artifactId>servlet-api</artifactId>
    <version>3.0.1</version>
    <scope>provided</scope>
</dependency>

二,runtime

runtime表示在构建编译阶段不需要,只在test和runtime需要。这种主要是指代码里并没有直接引用而是根据配置在运行时动态加载并实例化的情况。虽然用runtime的地方改成compile也不会出大问题,但是runtime的好处是可以避免在程序里意外地直接引用到原本应该动态加载的包。例如JDBC连接池

posted @ 2021-09-30 15:48  田茂宇  阅读(163)  评论(0)    收藏  举报