我快疯了。最初,我添加了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几次。请帮帮我
4条答案
按热度按时间uplii1fm1#
第一步:
打开项目的文件夹,然后转到:
.idea/libraries/
你应该在这里找到一个maven依赖的文件。删除jackson-core
和jackson-databinding
文件。第二步:删除maven依赖项
从`pom.xml '文件中删除这两个依赖项。(不要注解掉,删除行)。
第三步:检查Intellij项目配置
打开
project structure
窗口(在Intellij中的顶部父文件夹中的循环,然后按F4),然后转到Libraries
选项卡。确保这两个依赖项不存在,如果存在,也将其删除(在顶部使用“-”按钮)。第四步:删除所有缓存的maven库
转到您的主文件夹,对于Windows:
C:\Users\<YOUR_NAME>\.m2\
,在这里删除存储库文件夹。第五步:重新导入项目
在智能中:右键单击项目的顶部文件夹,然后单击
> Maven > Reimport
。第六步:添加maven部门
将您的两个依赖项添加到
pom.xml
。第八步:构建项目。
启动您的项目。
这个应该能用
7cwmlq892#
在包含父pomx.mxl文件的目录中运行maven命令“mvn dependency:tree”,你可以找到是否有2.5.4文件。也许您添加了其他也导入2.5.4版本的jar,那么您应该排除2.5.4版本。
您也可以检查本地Maven存储库,并删除Jackson 2.5.4版本。
vptzau2j3#
我的一个依赖项也有类似的问题。我转到
.m2/repository
目录,手动删除了那里不需要的依赖项。我只在m2
目录中保留了我想要的版本。然后我使缓存无效并重新启动IntelliJ IDEA。这似乎解决了这个问题。w7t8yxp54#
这是一个老帖子,但以防万一,在新版本(2023.1.2)中对我起作用的是手动删除缓存的错误版本。可以通过以下方式完成
1.在项目层次结构中找到“外部库”和其中的错误依赖项。
1.右击->打开库设置(或左键-> F4)
1.这将打开“项目结构/库”(ctrl + shift + alt + s),并在列表中选择依赖项。
1.点击列表顶部的“-”图标。确认。重新导入maven,它应该下载正确的版本。