IntelliJ Idea:代码片段上的红线有错误 "cannot access org.codehaus.jackson.ObjectCodec"

IntelliJIdea: red line on a code snippet with error "cannot access org.codehaus.jackson.ObjectCodec"

前言:

API method (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));
}

ObjectMapperclass有上面的readValue方法

我的自定义 class 方法(如下)工作正常,没有错误,但我看到 "red Line" 代码行 mapper.readValue(UserJson, in IntelliJ Idea...

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

带照片的示例:

谢谢 Stephan,LazerBass..“(文件 -> 使缓存无效)”似乎不起作用,我昨天在 Whosebug 中发布此 Qn 之前已经尝试过了。

今天没有出现错误。似乎 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" class,IDE 导入了 1.9.12 版本的jackson-mapper-asl(理论上它必须在我的项目中硬编码我的 1.9.4 版本)。所以我去添加了额外的 1.9.4 jar,这是无关紧要的,但只是想检查一下。

我做了更多的研究并检查了所有版本(link:https://mvnrepository.com/artifact/org.codehaus.jackson/jackson-mapper-asl)中 ObjectMapper class 的 "readValue" 方法,令人惊讶的是这个的所有版本jackson-mapper-asl jar里面有这个方法

缩小范围,问题似乎与 intelliJ Idea 有关,参考:https://intellij-support.jetbrains.com/hc/en-us/community/posts/207108385-IntelliJ-not-able-to-resolve-classes-of-external-Libraries-for-Maven-projects