当前位置: 首页 > 知识库问答 >
问题:

Maven dependencies okhttp3 mockwebserver的版本错误

马天逸
2023-03-14

我正在尝试使用okhttp3。mockwebserver与我的Spring boot项目一起,我发现okhttp3:mockwebserver:jar:3.14.9而不是4.9.1。

我创建了一些小的“模拟”项目来重现我在prod中遇到的问题。

项目就在这里https://github.com/mkarasik/okhttp-test

它包含两个文件夹:

这是一个包含mockwebserver作为依赖项的简单库

波姆。xml依赖关系

    <dependencies>
    ...
    <dependency>
        <groupId>com.squareup.okhttp3</groupId>
        <artifactId>mockwebserver</artifactId>
        <version>4.9.1</version>
        <exclusions>
            <exclusion>
                <artifactId>junit</artifactId>
                <groupId>junit</groupId>
            </exclusion>
        </exclusions>
    </dependency>
</dependencies>

Maven依赖树

 \- com.squareup.okhttp3:mockwebserver:jar:4.9.1:compile
    +- com.squareup.okhttp3:okhttp:jar:3.14.9:compile

这已经错了。Mockwebserver pom包含4.9.1 okhttp工件,但树中显示了3.14.9

简单的Spring Boot应用程序,包括lib项目

    <dependency>
        <groupId>com.example</groupId>
        <artifactId>lib</artifactId>
        <version>0.0.1-SNAPSHOT</version>
        <scope>test</scope>
    </dependency>

Maven依赖树

\- com.example:lib:jar:0.0.1-SNAPSHOT:test
   \- com.squareup.okhttp3:mockwebserver:jar:3.14.9:test
      \- com.squareup.okhttp3:okhttp:jar:3.14.9:test
         \- com.squareup.okio:okio:jar:1.17.2:test

同样的问题也在这里。okhttp3:mockwebserver:jar:3.14.9,而不是我的lib pom中指定的4.9.1。xml。

我的xml配置中缺少什么吗?

共有1个答案

司寇高洁
2023-03-14

有一个非常好的IDE插件叫做Maven Helper,它可以帮助你看到版本冲突,并帮助你分析依赖树。它在版本冲突解决方面对我帮助很大。请参阅这个问题和我对它的回答,了解一些细节:如何在maven中确定哪个依赖项负责版本控制

 类似资料:
  • 我已经在我的Ubuntu16.04上安装了JDK1.8,为了完成一些我必须安装JDK1.7的工作,我没有对旧版本做任何操作就安装了它,并且更改了$JAVA_HOME以指向新安装的位置。 echo运行良好,显示新安装的版本为1.7 但当我执行时,它显示的是较早安装的版本,即1.8。 如果我错在什么地方,请纠正我,我需要很好的解释这一点。 谢谢你。这是我的终端机

  • 我得到了一个现有的项目,目前使用flyway-ant,版本2.2.1进行迁移。 出于多种原因,我需要使用 3.2.1(修复不同行尾的表)。不幸的是,一旦我尝试使用flyway 3.2.1设置一个空的测试数据库,我从Oracle DB收到以下错误: 任何想法为什么会发生这种情况?这可能是飞行途中的错误吗?使用飞行路线 2.2.1 运行迁移一切正常,运行与飞行路线 3.2.1 完全相同的迁移,orac

  • 关于hibernate版本的jar加载,我遇到了问题。。。Eclipse log说我使用的是3.2.4.sp1,但在我的pom.xml中,我使用的是4.2.0.final。所以我想这就是为什么我得到了例外...

  • 我已经从1.3更新了Spring启动版本。5至1.4。0,我得到以下错误 使用Camunda BPM,版本为Spring Boot:(v1.4.0.发行版)Camunda BPM:(v7.5.0)Camunda BPM Spring Boot Starter:(v1.2.1) 对卡蒙达的依赖, 对于包装,我们使用以下插件, 请让我知道从1.3. x更新到1.4.0Spring引导失败的原因

  • 我试图传递一个XML文件作为Http POST请求。当我在一个Linux框上使用CURL测试它时,网络服务运行良好,XML格式良好。我试图编写一个Java实用程序来做同样的事情。我在Apache Commons HttpClient库3.1版本中找到了一个示例,下面是我的代码: 进口: 代码: 我得到一个错误: 更新 增加了Commons-logging-1.2。罐子 仍然会出现错误: 这句话的意

  • 我得到了一个错误时,打开铬与硒,它打开和关闭窗口后立即打开。下面是我的代码:

  • 我正在按照以下步骤打包我的PWA以提交到Play Store-https://docs.pwabuilder.com/jekyll/update/2018/02/03/how-to-package-android.html 我已经检查了,并且使用了正确的分发URL:distributionURL=https://services.gradle.org/distributions/gradle-2.

  • 如果能帮上忙,我将不胜感激。 我下载了CHROMEDRIVER 复制到我系统中的python路径 当我试图调用CHROME浏览器并在Pycharm下设置一个可执行路径时,我得到了以下错误。 代码---驱动程序=web驱动程序。Chrome(executable_path="C:\用户\vinayak.gulati\AppData\本地\程序\Python\Python37\chromedriver