IDE可以';Jackson ObjectMapper的t resolve 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可以';Jackson ObjectMapper的t resolve writeValue()方法 我一生都在用C++工作,但是最近决定用java玩一点。我已经开始学习Jackson serialier/desirialer图书馆。基本示例如下所示 ObjectMapper objectMapper = new ObjectMapper(); Car car = new Car("yellow", "renault"); objectMapper.writeValue(new File("target/car.json"), car);,java,intellij-idea,jackson,Java,Intellij Idea,Jackson,这看起来很简单,不应该出现任何问题。我的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是在上面的某个地方实现的,它现在应该可以工作了。然而,当我试图构建代

这看起来很简单,不应该出现任何问题。我的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()
。自动完成面临同样的问题。我的第一个假设是并非所有外部库都正确解析,但当我在IDE中打开
ObjectMapper
的源代码时,我清楚地看到了方法
writeValue()
。如果我尝试在使用操作符
new
autocomplication创建对象能够识别它之后调用此方法,则情况会更糟。如果我用
writeValue()
调用代码成功编译。
从C++的前景来看,它看起来像疯狂,所以请提出为什么它会发生,以及它是如何解决的? 您还可以显示您的
pom.xml
文件吗?您可以尝试在控制台/终端中通过
mvn clean install
pom.xml
文件所在的文件夹中构建它吗?似乎我没有
pom.xml
文件。我刚刚创建了一个新项目,并使用IntelliJ
ProjectStructure->libraries->NewProjectLibrary(来自Maven)
添加了库。这意味着这不是正确创建的Maven项目。在Java中,所有需要的JAR都应该位于类路径上的一般规则。您必须首先了解这一点,以及如何在IDE中正确地创建项目,无论是否使用Maven。但我建议使用Maven,它可以促进Java开发。这不是
Jackson
库的问题。请参阅。使用
pom.xml
文件创建maven项目解决了一个问题。谢谢我还将尝试用提供的指南修复我的初始项目。