gpt4 book ai didi

gradle - 依赖项冲突的Gradle Shadow Jar

转载 作者:行者123 更新时间:2023-12-03 03:23:53 25 4
gpt4 key购买 nike

我正在为服务创建 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的类。

您可以轻松排除一个或另一个版本,但是如果您的依赖项同时需要它们,那么您将面临以下选择:

  • 找到一个没有冲突的新依赖项
  • 升级或降级当前依赖项以使版本符合
  • 可以作为war文件或其他类型的文件来处理,该文件可以更好地处理此问题,包括带有 list 的普通jarfile, list 中包含类路径
  • 考虑使用 Spring 启动,它使用的策略与着色不同:http://docs.spring.io/spring-boot/docs/current-SNAPSHOT/reference/htmlsingle/#executable-jar

  • 无论您做什么,gradle依赖项都是有帮助的。

    关于gradle - 依赖项冲突的Gradle Shadow Jar,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24040813/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com