Java 是否可以在gradle中隐藏/隔离所有实现依赖项?

Java 是否可以在gradle中隐藏/隔离所有实现依赖项?,java,gradle,javac,Java,Gradle,Javac,上下文 在编译和运行使用大量依赖项的Java程序时,您可以很容易地遇到所谓的“类路径地狱”,这通常是由冲突的可传递依赖项引起的。通过java的Gradle依赖机制,至少在编译时不泄漏可传递依赖项()可以在一定程度上缓解这种情况 据我所知,当一个人遇到冲突的可传递依赖性问题时,有三种方法: 找到另一个库(版本),并希望它能工作 对传递依赖项进行着色 (新)用于模块 问题 由于我们有定义实现依赖项和着色它们的机制(即在运行时更改它们的名称空间),您知道是否有一种自动着色所有实现依赖项的方法吗?着

上下文

在编译和运行使用大量依赖项的Java程序时,您可以很容易地遇到所谓的“类路径地狱”,这通常是由冲突的可传递依赖项引起的。通过java的Gradle依赖机制,至少在编译时不泄漏可传递依赖项()可以在一定程度上缓解这种情况

据我所知,当一个人遇到冲突的可传递依赖性问题时,有三种方法:

  • 找到另一个库(版本),并希望它能工作
  • 对传递依赖项进行着色
  • (新)用于模块
问题

由于我们有定义实现依赖项和着色它们的机制(即在运行时更改它们的名称空间),您知道是否有一种自动着色所有实现依赖项的方法吗?着色模式可以使用无论如何都需要唯一的
artifactId

作为替代方案,是否有一种自动方式来使用新的“模块分层”系统

背景

过去我已经问过如何避免成功编译和运行时加载错误之间的冲突。我还检查了如何解决与和的依赖冲突。我还看到Java模块系统并不打算解决这个问题,但是jigsaw项目的分层可能会解决这个问题