Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/315.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java maven中提供的和运行时的可传递范围_Java_Maven_Maven 3 - Fatal编程技术网

Java maven中提供的和运行时的可传递范围

Java maven中提供的和运行时的可传递范围,java,maven,maven-3,Java,Maven,Maven 3,根据, 如果A是我们的项目,它直接依赖于X,其范围是关于A提供的 Maven告诉我们,X与scope runtime之间的任何依赖关系(直接的或可传递的)都将解析为scope,前提是w.r.t.A 设Y是X的直接依赖项,作用域为runtimew.r.t到X A-->X(范围=已提供)-->Y(范围=运行时) 现在,Y将解析为提供的范围w.r.t到A 观察:Y在A的运行时类路径中永远不需要。它只在A的测试类路径中需要。事实上,如果您将Y作为X的传递依赖项,保持其作用域仅为运行时,那么它永远不会在A

根据,

如果A是我们的项目,它直接依赖于X,其范围是关于A提供的

Maven告诉我们,X与scope runtime之间的任何依赖关系(直接的或可传递的)都将解析为scope
,前提是
w.r.t.A

设Y是X的直接依赖项,作用域为
runtime
w.r.t到X

A-->X(范围=已提供)-->Y(范围=运行时)

现在,Y将解析为
提供的范围
w.r.t到A

观察:Y在A的
运行时类路径
中永远不需要。它只在A的
测试类路径
中需要。事实上,如果您将Y作为X的传递依赖项,保持其作用域仅为运行时,那么它永远不会在A的
运行时类路径
中使用。它将仅用于
测试类路径

问题:那么,我们不应该说-


如果A是我们的项目,它对X有直接依赖,而X的作用域是相对于A提供的,那么X与作用域运行时的任何依赖(直接的或可传递的)将被解析为作用域
test
w.r.t A?

我们可以肯定地说,这些依赖可以更好地转换为“test”作用域

但我怀疑这方面会有任何改变