Intellij Idea + Maven:运行时依赖版本错误

Mos*_*ham 7 java intellij-idea maven

这真让我抓狂。最初我已将 Jackson v.2.5.4 依赖项添加到我的项目中。后来,我将其更新为使用 2.6.4,如下所示:

    <dependency>
        <groupId>com.fasterxml.jackson.core</groupId>
        <artifactId>jackson-core</artifactId>
        <version>2.6.4</version>
    </dependency>
    <dependency>
        <groupId>com.fasterxml.jackson.core</groupId>
        <artifactId>jackson-databind</artifactId>
        <version>2.6.4</version>
    </dependency>
Run Code Online (Sandbox Code Playgroud)

在编写代码时我可以看到新版本的功能已经存在。另外,当我进入模块和工件下的项目设置时,所有内容都显示为 jackson 2.6.4。

但是,当我运行该程序时,显然它使用的是 2.5.4 版本。我发现2.6.0中添加的新功能不存在,我也检查了:

System.out.println(ObjectMapper.class.getPackage().getSpecificationVersion());
Run Code Online (Sandbox Code Playgroud)

输出是 2.5.4...

我重建了项目,重新导入了依赖项并重新启动了intellij几次....请帮助...

Ant*_*ond 7

步骤1:

打开项目的文件夹,然后转到:.idea/libraries/您应该在这里找到一个 maven 依赖项的文件。删除jackson-core和jackson-databinding文件。


第2步:删除maven依赖

从“pom.xml”文件中删除两个依赖项。(不要注释掉,擦掉线条)。


第3步:检查Intellij项目配置

打开project structure窗口(单击 Intellij 中的顶部父文件夹,然后按 F4),然后转到Libraries选项卡。确保这两个依赖项不存在,如果存在,也将其删除(使用顶部的“-”按钮)。


第4步:删除所有缓存的maven库

转到您的主文件夹,对于 Windows:,C:\Users\<YOUR_NAME>\.m2\在此处删除存储库文件夹。


第 5 步:重新导入项目

在 intellij 中:右键单击项目的顶部文件夹> Maven > Reimport。


第6步:添加maven dep

将您的两个依赖项添加到pom.xml.


第 8 步:构建您的项目。

启动您的项目。



这应该有效。

  • 除了强制 Maven 再次下载每个依赖项之外,这对 Maven 有何影响? (2认同)