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

hivapdat  于 2023-06-20  发布在  Java
关注(0)|答案(4)|浏览(233)

我快疯了。最初,我添加了Jacksonv。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>

在编写代码时,我可以看到新版本的功能。另外,当我在modules and artifacts下查看项目设置时,所有内容都显示为Jackson。
但是,当我运行程序时,很明显它使用的是2.5.4版本。我看到2.6.0中添加的新功能不存在,我也检查了:

System.out.println(ObjectMapper.class.getPackage().getSpecificationVersion());

输出为2.5.4…
我重建了项目,重新导入了依赖项,并重新启动了intellij几次。请帮帮我

uplii1fm

uplii1fm1#

第一步:

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

第二步:删除maven依赖项

从`pom.xml '文件中删除这两个依赖项。(不要注解掉,删除行)。

第三步:检查Intellij项目配置

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

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

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

第五步:重新导入项目

在智能中:右键单击项目的顶部文件夹,然后单击> Maven > Reimport

第六步:添加maven部门

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

第八步:构建项目。

启动您的项目。
这个应该能用

7cwmlq89

7cwmlq892#

在包含父pomx.mxl文件的目录中运行maven命令“mvn dependency:tree”,你可以找到是否有2.5.4文件。也许您添加了其他也导入2.5.4版本的jar,那么您应该排除2.5.4版本。
您也可以检查本地Maven存储库,并删除Jackson 2.5.4版本。

vptzau2j

vptzau2j3#

我的一个依赖项也有类似的问题。我转到.m2/repository目录,手动删除了那里不需要的依赖项。我只在m2目录中保留了我想要的版本。然后我使缓存无效并重新启动IntelliJ IDEA。这似乎解决了这个问题。

w7t8yxp5

w7t8yxp54#

这是一个老帖子,但以防万一,在新版本(2023.1.2)中对我起作用的是手动删除缓存的错误版本。可以通过以下方式完成
1.在项目层次结构中找到“外部库”和其中的错误依赖项。
1.右击->打开库设置(或左键-> F4)
1.这将打开“项目结构/库”(ctrl + shift + alt + s),并在列表中选择依赖项。
1.点击列表顶部的“-”图标。确认。重新导入maven,它应该下载正确的版本。

相关问题