为什么在编译范围依赖项中添加以下结果?
<dependency>
<groupId>myproject.core</groupId>
<artifactId>api</artifactId>
<classifier>tests</classifier>
<scope>test</scope>
</dependency>
[INFO] +- myproject.core:api:jar:tests:5.0.5-SNAPSHOT:test
[INFO] | +- org.apache.curator:curator-framework:jar:2.7.1:compile
[INFO] | | \- org.apache.curator:curator-client:jar:2.7.1:compile
[INFO] | +- org.apache.curator:curator-x-discovery:jar:2.7.1:compile
[INFO] | | +- org.apache.curator:curator-recipes:jar:2.7.1:compile
我希望复制依赖项在测试范围内排除,不仅可以跳过顶层,还可以从树中删除它及其传递。
答案 0 :(得分:0)
测试依赖项和测试jar依赖项之间存在差异。
对于测试依赖项,传递依赖项的范围已正确设置为test(请参阅Maven参考中的this table)。
对于测试jar依赖项(这里有你的),行为是不同的。我在Maven文档中找不到任何解释为什么它不同的东西(也许其他有更好洞察力的人可以解释原因)。但是,我发现了一个关于此问题的错误报告(MNG-1378),在10多年后仍未解决,因此我不会抱有希望。