2020-03-17 maven scope

maven 常用三个scope:compile,test,provided

compile和test作用的程序结构是不一样的。compile作用在 main目录下,test作用在test目录下

项目

   src

         main -- 主程序

         test  -- 测试程序

compile的范围依赖

对主程序(main程序)是否可见:可见。main程序可以看到compile的包。

对测试程序(test程序)是否可见):可见

是否参与打包:参与

test的范围依赖

对主程序(main程序)是否可见:不可见。

例如:在main包路径下的类,import org.junit.Test; 如果junit是test scope,会报找不到类定义的编译错误。

对测试程序是否有效:有效

是否参与打包:不参与

provided的范围依赖

在部署运行的时候被忽略掉。通常是servlet类跟容器相关的包。典型例子:servlet-api.jar

对主程序(main程序)是否可见:可见。

对测试程序(test程序)是否可见):可见

是否参与打包:不参与

是否参与部署:不参与

你可能感兴趣的:(2020-03-17 maven scope)