上下文
在编译和运行使用很多依赖项的Java程序时,您可以轻松地遇到通常由传递性依赖项冲突引起的所谓的“类路径地狱”。使用Java的Gradle依赖机制,可以通过在编译时(link)至少不泄漏传递依赖来在某种程度上减轻这种情况。
据我所知,当遇到与传递依赖项冲突的问题时,几乎有三种方法:
问题
由于我们同时具有定义实现依赖项和对其进行着色的机制(即在运行时更改其名称空间),因此您是否知道是否存在自动对所有实现依赖项进行着色的方法?阴影图案可以使用artifactId
,但无论如何都必须是唯一的。
作为替代方案,有没有一种自动的方式来使用新的“模块分层”系统?
背景
我过去已经问过如何避免成功编译和运行时加载错误SO Question之间的冲突。我还检查了如何解决与disabling transitive dependencies和shading in fat jar的依赖冲突。我还看到Java模块系统无意解决link,但是拼图项目的分层可能link