maven中scope标签总结

Maven中scope标签的分类

1.  compile:<scope>标签的默认值,表示被依赖项目需要参与当前项目的编译,测试和运行周期,项目打包时会包含进去。

2.  runtime:被依赖项目不参与项目的编译,不过后期的测试和运行周期需要其参与。与compile相比,跳过了编译而已。例如JDBC驱动,适用运行和测试阶段。所以在项目打包时会包含进去。

3.  test:被依赖项目仅仅参与项目的测试相关的工作,包括测试代码的编译和执行,项目打包时不会被包含进去。

4.  provided:打包的时候可以不用包进去,别的地方会提供。事实上该依赖理论上可以参与编译,测试,运行等周期。相当于compile,但是打包阶段做了exclude操作

5.  system:从参与度来说,和provided相同,不过被依赖项不会从maven仓库下载,而是从本地文件系统拿。需要添加systemPath的属性来定义路径

compile:参与所有的编译,测试,运行;

compile的缩小版是test:参与测试时的编译和运行;

runtime:不参与编译,测试运行都参加。

provided:别的地方有,不打包

system:从本地系统文件那里找。


---------------------------------------------

如发现错误,还请及时指出,多谢大侠!

---------------------------------------------


猜你喜欢

转载自blog.csdn.net/qq_36819098/article/details/79943735