json - IntelliJIdea:代码片段上的红线出现错误“无法访问 org.codehaus.jackson.ObjectCodec”
问题描述
前言:
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);
}
带照片的例子:
解决方案
谢谢Stephan,LazerBass ..“(文件->无效缓存)”似乎不起作用,我昨天在stackOverflow中发布此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”类,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 里面有这个方法。
缩小范围,问题似乎出在 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
推荐阅读
- android - 如何根据一些布尔标志过滤回收者视图卡片视图并在顶部显示作为第一张卡片视图的卡片?
- spring - Spring 安全阻止访问 GWT 服务
- mysql - 在 MySQL 中存储 key_str 和 init_vetor
- javascript - 是否可以从 socket.io 客户端获取对服务器的请求中删除 sid?
- r - 如何更改 POSIXct 对象在构面标题中的显示?
- mongodb - 如何导入 go 的 mongo-driver bson
- assembly - 汇编指令中的esi0a是什么意思?
- javascript - 有没有办法将 CSS-transform 应用于在 mousemove 上被 CSS-transformed 的元素内部的元素?
- javascript - Uncaught TypeError: a.indexOf is not a function [PRELOADER]
- excel - 为什么 IsDate 不能按预期工作?以及如何获取列中下一个单元格的日期值?