Maven的依赖范围

依赖范围

compile 编译、测试、运行,A在编译时依赖B,并且在测试和运行时也依赖
  例如:struts-core、spring-beans。打到war包或jar包
provided 编译、和测试有效,A在编译和测试时需要B
  例如:servlet-api就是编译和测试有用,在运行时不用(tomcat容器已提供)不会打到war
runtime:测试、运行有效
  例如:jdbc驱动包 ,在开发代码中针对java的jdbc接口开发,编译不用
  在运行和测试时需要通过jdbc驱动包(mysql驱动)连接数据库,需要的会打到war
test:只是测试有效,只在单元测试类中用
  例如:junit不会打到war
system:system范围依赖与provided类似,但是你必须显式的提供一个对于本地系统中JAR文件的路径,需要
  指定systemPath磁盘路径,system依赖不推荐使用。
  在maven_web工程中测试scope:
默认引入 的jar包 ------- compile 【默认范围 可以不写】(编译、测试、运行 都有效 )
servlet-api 、jsp-api ------- provided (编译、测试 有效, 运行时无效 防止和tomcat下jar冲突)
jdbc驱动jar包 ---- runtime (测试、运行 有效 )
junit ----- test (测试有效)
依赖范围由强到弱的顺序是:compile>provided>runtime>test

 

posted @ 2020-08-18 18:02  一半人生  阅读(196)  评论(0编辑  收藏  举报