Skip to content

Move to Jackson 3: forgotten imports in UnpaywallFetcher can cause issue #14355

@Stewori

Description

@Stewori

It looks like the imports
https://github.com/JabRef/jabref/blob/main/jablib/src/main/java/org/jabref/logic/importer/fetcher/UnpaywallFetcher.java#L20
in line 20 and 21 have not been adjusted to Jackson 3.

This makes Jackson 2 an unexpected dependency. I don't know how this could pass tests, but in my (non-gradle) build I get the issue

.../src/main/java/org/jabref/logic/importer/fetcher/UnpaywallFetcher.java:20: error: package com.fasterxml.jackson.databind is not visible
import com.fasterxml.jackson.databind.JsonNode;
                            ^
  (package com.fasterxml.jackson.databind is declared in module com.fasterxml.jackson.databind, but module org.jabref.jablib does not read it)

and a similar one for ObjectMapper.
I assume by some magic trick gradle's automatic resolution somehow circumvents this issue. Still, it should be fixed. All that needs to be done is replace

import com.fasterxml.jackson.databind.JsonNode;
import com.fasterxml.jackson.databind.ObjectMapper;

by

import tools.jackson.databind.JsonNode;
import tools.jackson.databind.ObjectMapper;

in UnpaywallFetcher.java.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions