示例:
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
在较新的硒版本中缺失。
不幸的是,我无权访问源代码。
问题-是否只能说old-library
使用旧的硒版本?
答案 0 :(得分:0)
好的,那不可能。当我从Gradle Slack聊天中得到时:
没有依赖包的重新定位是没有办法解决的
实际上,在这种情况下,即使在类路径级别也没有问题,因为如果2个依赖项具有相同的ID,Gradle必须选择其中之一。 如果仅更改依赖关系ID,则将在运行时遇到问题,因为具有许多冲突类的2个依赖关系将位于同一类路径上。它对Java有效,但是根据类路径解析度选择哪个版本取决于类加载器,而您不能依靠它