在Maven中,库模块A是否有办法指定对模块B的内部依赖关系,但A的客户看不到这一事实?
也就是说,如果C声明对A的依赖,那么C不能使用B中的任何代码而不声明它对B的依赖。
之所以要这样做,是因为我希望能够随时删除对B的依赖,而不会影响客户。
这与provided
和optional
依赖关系不同。内部依赖关系与它是由应用程序容器提供还是与仅在某些情况下可用的依赖关系无关。
这个问题是关于一种依赖关系,这种依赖关系总是与模块A一起分发,但是对客户不可见。
这与Gradle中implementation
和api
依赖项之间的区别相同。
这似乎是在问同样的事情。但是张贴者接受了可选的依赖项作为解决方案。所以在实践中,这个问题是关于不同的东西:
答案 0 :(得分:0)
AFAIK,在A级上没有解决方案。
可以在C中使用sample report2
或dependency:analyze
来确定是否使用了传递依赖而不声明它。