【问题标题】:How to resolve external dependency conflict in gradle如何解决gradle中的外部依赖冲突
【发布时间】:2023-01-13 17:03:57
【问题描述】:

我在我的 sprint 引导项目中遇到了 okio 库的以下冲突。

我不确定如何阅读此内容。具体来说:

  1. 这里冲突的实际含义是什么。什么与什么冲突?
  2. 为什么 1.6.0 与 1.6.0 冲突
  3. 范围是什么意思(6 个范围、4 个范围)等等。

    我如何在我的 gradle 项目中解决这个问题。目前在我的 build.gradle 我有

    implementation "org.apache.commons:commons-vfs2:2.9.0"
    implementation 'io.fabric8:kubernetes-client:6.3.1'
    

    我的服务器无法以 Okio 库中的类中的 NoSuchFieldError 启动。我该如何解决这个问题?这些都不是我的直接代码问题发生在 okio 中,它是上述两个库的传递依赖项。

【问题讨论】:

    标签: java spring maven gradle


    【解决方案1】:

    它有相同的库,但在类路径上有两个版本,所以在运行时会选择任何一个。

    如果版本有一些破坏性的变化,它就不会工作。您必须限制只有一个版本。

    可以参考How Gradle handles conflicts?获取更多信息。

    【讨论】:

    • 如果 vfs2 仅适用于 okio 的 1.6.0 版,而 kubernetes 客户端仅适用于 okio 的 2.8.0 版怎么办?在那种情况下,这是否意味着我将无法在我的项目中同时使用这两个库(vfs2 和 kubernetes 客户端)? –
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-01-01
    • 1970-01-01
    相关资源
    最近更新 更多