Java 在maven依赖关系树中,父依赖关系是否覆盖子依赖关系的范围?
如果我从运行Java 在maven依赖关系树中,父依赖关系是否覆盖子依赖关系的范围?,java,maven,Java,Maven,如果我从运行mvn dependency:tree中得到以下输出,那么引入测试或编译范围的jar是什么 [INFO] | +- io.springfox:springfox-swagger1:jar:2.5.0:test [INFO] | | +- io.springfox:springfox-schema:jar:2.5.0:compile [INFO] | | +- io.springfox:springfox-swagger-common:jar:2.5.0:compile 它
mvn dependency:tree
中得到以下输出,那么引入测试或编译范围的jar是什么
[INFO] | +- io.springfox:springfox-swagger1:jar:2.5.0:test
[INFO] | | +- io.springfox:springfox-schema:jar:2.5.0:compile
[INFO] | | +- io.springfox:springfox-swagger-common:jar:2.5.0:compile
它将是
测试
。但这并不是所有作用域对的一般规则。在您的情况下,这适用于:
对于测试
范围,项目中将运行时
和编译
范围传递依赖项与测试
范围一起拉入
在您的示例中,可以在找到更多详细信息。所有三个依赖项都有效地限定了范围。根据
测试的任何可传递编译范围依赖项
范围依赖项变为测试范围:
每个作用域(导入除外)都以不同的方式影响可传递依赖项,如下表所示。如果将依赖项设置为左列中的范围,则该依赖项与跨顶行的范围的可传递依赖项将导致主项目中的依赖项与列在相交处的范围。如果未列出任何范围,则表示将忽略依赖项
compile provided runtime test
compile compile - runtime -
provided provided - provided -
runtime runtime - runtime -
test test - test -