【问题标题】:Gradle. Say dependency to use another version of already included dependency摇篮。说依赖来使用另一个版本的已经包含的依赖
【发布时间】:2019-04-19 11:13:51
【问题描述】:

例子:

implementation(group: 'org.seleniumhq.selenium', name: 'selenium-remote-driver', version: '3.13.0')
implementation(group: 'com.mypack', name: "old-library", version: '1.0')

问题是old-library 抛出 java.lang.NoClassDefFoundError: org/openqa/selenium/remote/SessionNotFoundException 在较新的 selenium 版本中缺失。 不幸的是,我无法访问源代码。 问题 - 是否可以只说 old-library 使用旧的硒版本?

【问题讨论】:

    标签: gradle dependency-management gradle-dependencies


    【解决方案1】:

    好吧,那是不可能的。正如我从 Gradle Slack 聊天中得到的:

    比没有依赖包重定位没有办法解决

    实际上,在这种情况下,甚至在类路径级别上都不会出现问题,因为如果 2 个依赖项具有相同的 id,则 Gradle 必须选择其中一个。 如果仅更改依赖项 ID,则会在运行时遇到问题,因为具有许多冲突类的 2 个依赖项将位于同一类路径上。它对 Java 有效,但是在类路径解析上会选择哪个版本取决于类加载器,你不能依赖这个

    【讨论】:

      猜你喜欢
      • 2021-12-18
      • 2015-04-28
      • 2019-12-25
      • 1970-01-01
      • 2021-12-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-12-30
      相关资源
      最近更新 更多