我正在为服务创建 super jar的想法,但我担心包含具有冲突依赖关系的jar。如果jar A取决于slf4j-1.0,而jar B取决于slf4j-2.0,并且1.0和2.0之间有重大变化,会发生什么情况?当这些jar都包含在uber jar中时,我必须按 namespace 编写特定的过滤器,还是在对jars进行 namespace 的影子过程中发生了什么?
谢谢您的帮助
最佳答案
你是正确的担心。您最终会遇到冲突(一个名叫“dll hell 遍地”的同事),有时您可以在jarfile的同一目录中同时拥有v1和v2的类。
您可以轻松排除一个或另一个版本,但是如果您的依赖项同时需要它们,那么您将面临以下选择:
无论您做什么,gradle依赖项都是有帮助的。
关于gradle - 依赖项冲突的Gradle Shadow Jar,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24040813/