如果我从运行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
答案 0 :(得分:3)
它将是test
。但这不是 all 作用域对的一般规则。就您而言,这适用于:
对于
test
范围,runtime
和compile
范围的传递依赖关系都将在项目中与test
范围一起引入。
答案 1 :(得分:3)
在您的示例中,所有三个依赖项均有效地test
范围内。根据{{3}},compile
作用域依赖性的任何可传递test
作用域依赖性将成为test
作用域:
每个作用域(导入除外)都会以不同方式影响传递依赖关系,如下表所示。如果将依赖项设置为左列中的范围,则该依赖项的可传递依赖项与顶部行中的范围将导致在主项目中具有相交处列出的范围的依赖项。如果未列出作用域,则表示将忽略依赖项。
compile provided runtime test
compile compile - runtime -
provided provided - provided -
runtime runtime - runtime -
test test - test -