这让我发疯了。最初我将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>
编写代码时,我可以看到新版本的功能。此外,当我在模块和工件下进行项目设置时,所有内容都表示杰克逊2.6.4。
但是,当我运行该程序时,显然它使用的是2.5.4版本。我看到2.6.0中添加的新功能不存在,我也查了一下:
System.out.println(ObjectMapper.class.getPackage().getSpecificationVersion());
,输出为2.5.4 ......
我重建了项目,重新导入了依赖项并重启了intellij几次.... 请帮忙......
答案 0 :(得分:1)
打开项目的文件夹,然后转到:.idea/libraries/
你应该在这里找到maven依赖的文件。
删除jackson-core
和jackson-databinding
文件。
从`pom.xml'文件中删除两个依赖项。 (不要注释掉,删除线条。)
打开project structure
窗口(在Intellij顶部父文件夹上的clic,然后按F4),然后转到Libraries
标签。确保两个依赖项不存在,如果有,也删除它们(顶部带有“ - ”按钮)。
转到您的主文件夹,对于Windows:C:\Users\<YOUR_NAME>\.m2\
,此处删除存储库文件夹。
在intellij中:右键单击项目的顶部文件夹,然后> Maven > Reimport
。
将您的两个依赖项添加到pom.xml
。
启动您的项目。
这应该有用。
答案 1 :(得分:0)
运行maven命令&#34; mvn dependency:tree&#34;在包含父pomx.mxl文件的目录中,您可以找到2.5.4那里。也许您添加其他罐也导入版本2.5.4,然后您应该排除2.5.4版本。
您也可以查看本地Maven存储库,并删除2.5.4版本的Jackson。
答案 2 :(得分:0)
我的一个依赖项遇到了类似的问题。我转到.m2/repository
目录并手动删除了那里不需要的依赖项。我只在m2
目录中保留了我想要的版本。然后我使我的缓存失效并重新启动IntelliJ IDEA。这似乎解决了这个问题。