IntelliJIdea: красная линия на фрагменте кода с ошибкой «не может получить доступ к org.codehaus.jackson.ObjectCodec» - PullRequest
0 голосов
/ 27 июня 2018

Предисловие:

Метод 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 голосов
/ 28 июня 2018

Спасибо, Стефан, 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, которая не имеет значения, но я просто подумал проверить.

Я провел еще несколько исследований и проверил метод "readValue" класса ObjectMapper во всех версиях (ссылка: https://mvnrepository.com/artifact/org.codehaus.jackson/jackson-mapper-asl), и, что удивительно, во всех версиях этого jar-файла jackson-mapper-asl есть этот метод.

Сужая, проблема, кажется, связана с IntelliJ Idea, ссылка: https://intellij -support.jetbrains.com / hc / en-us / community / posts / 207108385-IntelliJ-не в состоянии-к- решить классы-оф-внешних библиотек-для-Maven-проекты

...