首页 > 解决方案 > IDE 无法解析 Jackson ObjectMapper 的 writeValue() 方法

问题描述

我一生都在使用 C++,但最近决定尝试使用 Java。我已经开始学习 Jackson serialier/desirialer 库。基本示例如下所示

ObjectMapper objectMapper = new ObjectMapper();
Car car = new Car("yellow", "renault");
objectMapper.writeValue(new File("target/car.json"), car);

它看起来很简单,这里应该不会出现任何问题。我的 IDE 是 IntelliJ,所以在运行代码之前我使用 Maven 来获取下一个库

com.fasterxml.jackson.core:jackson-annotations:2.9.4
com.fasterxml.jackson.core:jackson-core:2.9.4 
com.fasterxml.jackson.core:jackson-databind:2.9.4

考虑到该类Car是在上面的某个地方实现的,它现在应该可以工作了。但是,当我尝试构建代码时,出现编译器无法解析符号的错误writeValue()。自动编译面临同样的问题。我的第一个假设是并非所有外部库都已正确解析,但是当我ObjectMapper在 IDE 中打开源代码时,我清楚地看到了 method writeValue()。如果我尝试在使用运算符new自动完成的创建对象能够识别它之后立即调用此方法。如果我删除带有 writeValue()调用代码的行,则成功编译。从 C++ 的角度来看,这看起来很疯狂,所以请说明它为什么会发生以及如何解决它?

标签: javaintellij-ideajackson

解决方案


推荐阅读