IntelliJIdea:代码段上的红线带有错误“无法访问org.codehaus.jackson.ObjectCodec”

时间:2018-06-27 12:36:42

标签: json intellij-idea java-8 objectmapper

前言:

  

API方法(import org.codehaus.jackson.map.ObjectMapper;

@SuppressWarnings("unchecked")
public <T> T readValue(JsonParser jp, Class<T> valueType) throws IOException, JsonParseException, JsonMappingException
{
    // !!! TODO
    //  _setupClassLoaderForDeserialization(valueType);
    return (T) _readValue(copyDeserializationConfig(), jp, _typeFactory.constructType(valueType));
}

ObjectMapper类具有上面的readValue方法。

我的自定义类方法(如下)工作正常,没有错误,但是我在代码行mapper.readValue(UserJson, in IntelliJ Idea...上看到一条“红线”

private User serializeFromJsonString(String UserJson) throws Exception {
    ObjectMapper mapper = new ObjectMapper();
    return mapper.readValue(UserJson, User.class);
}

带有照片的示例:

intelliJ Idea red line_error

1 个答案:

答案 0 :(得分:0)

谢谢你,Stephan,LazerBass ..“((文件->无效的缓存))”似乎没有用,我昨天已经在将Qn张贴在stackOverflow之前尝试过了。

该错误今天没有出现。.似乎IDE忽略了我的依赖关系。.

以下依赖版本在我的Spring-boot应用程序中进行了硬编码。

<!-- https://mvnrepository.com/artifact/org.codehaus.jackson/jackson-mapper-asl -->
<dependency>
    <groupId>org.codehaus.jackson</groupId>
    <artifactId>jackson-mapper-asl</artifactId>
    <version>1.9.4</version>
</dependency>

当我将Maven项目加载到IntelliJ Idea中时,它将要求手动导入依赖项,并且对于此“ ObjectMapper”类,IDE导入了1.9.12版本的jackson-mapper-asl(从理论上讲,我的1.9.4版本硬编码在我的项目中)。所以我去添加了其他无关紧要的1.9.4 jar,但只是想检查一下。

我做了一些进一步的研究,并检查了所有版本中的ObjectMapper类的“ readValue”方法(链接:https://mvnrepository.com/artifact/org.codehaus.jackson/jackson-mapper-asl),令人惊讶的是,此jackson-mapper-asl jar的所有版本中都包含此方法。

缩小范围后,问题似乎出在智能想法上,参考文献:https://intellij-support.jetbrains.com/hc/en-us/community/posts/207108385-IntelliJ-not-able-to-resolve-classes-of-external-Libraries-for-Maven-projects