scope的分类:
1.compile:默认值,表示被依赖项目需要参与当前项目编译,和后续测试,运行周期也参与其中,是一个比较强的依赖。打包的时候通常需要包含进去。
2.test:依赖项目仅仅参与测试相关的工作,包括测试代码的编译和执行,不会被打包,例如:junit
3.runtime:被依赖项目无需参与项目编译,而后期测试和运行周期需要其参与。与compile相比,跳过了编译而已。例如JDBC驱动,适用运行和测试阶段
4.provided:打包的时候可以不用包进去,别的设施会提供。事实上该依赖理论上可以参与编译,测试,运行等周期。相当于compile,但是打包阶段做了exclude操作
1.compile:默认值,表示被依赖项目需要参与当前项目编译,和后续测试,运行周期也参与其中,是一个比较强的依赖。打包的时候通常需要包含进去。
2.test:依赖项目仅仅参与测试相关的工作,包括测试代码的编译和执行,不会被打包,例如:junit
3.runtime:被依赖项目无需参与项目编译,而后期测试和运行周期需要其参与。与compile相比,跳过了编译而已。例如JDBC驱动,适用运行和测试阶段
4.provided:打包的时候可以不用包进去,别的设施会提供。事实上该依赖理论上可以参与编译,测试,运行等周期。相当于compile,但是打包阶段做了exclude操作
5.system:从参与度讲,和provided相同,不过被依赖项不会从maven仓库下载,而是从本地文件系统拿。需要添加systemPath的属性来定义路径。
详情来源:https://blog.youkuaiyun.com/cd18333612683/article/details/66478332

本文详细介绍了Maven项目中依赖范围的五种类型:compile、test、runtime、provided及system。每种依赖范围都详细解释了其作用周期及应用场景,并通过实例说明了不同依赖范围的特点。
1172

被折叠的 条评论
为什么被折叠?



