scope属性

scope属性

  scope属性表示的是jar包的依赖范围,有五种依赖范围,只要用来配置jar的依赖范围,排除不需要的jar包和解决jar包冲突问题。(jar包冲突问题:比如我们上一个项目中使用到的servlet-api.jar包,该包时tomcat下的一个jar包,当我们在我们的项目中配置了该jar包,如果scope属性没有选择provided,在运行时就会出现两个该jar包,运行就会报错)。

  下面对五种类型进行详细的说明。

依赖范围 对于编译有效 对于测试有效 对于运行有效 举例
compile Y Y Y spring-core
test - Y - JUnit
provided Y Y - servlet-api
runtime - Y Y JDBC驱动
system Y Y -

本地的,Maven仓库

之外的类库

  1、compile :该范围全局有效,在编译,测试,运行时到要使用。

  2、test :该范围只有在测试时才会才有效,也就是说该jar包只有在测试时才会使用的到。

  3、provided:该范围在编译和测试时候有效,在运行时无效,打包项目是不会打包。

  4、runtime:该范围在测试和运行时有效。

  5、system:该范围在编译和测试时有效。

 

原文地址:https://www.cnblogs.com/jack1995/p/6929548.html