Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

micronaut-platform 4.4.1 jackson dependencies are not matching #10794

Open
sdelamo opened this issue May 3, 2024 Discussed in #10790 · 0 comments
Open

micronaut-platform 4.4.1 jackson dependencies are not matching #10794

sdelamo opened this issue May 3, 2024 Discussed in #10790 · 0 comments
Labels
type: regression A breaking change was introduced in a minor or patch release

Comments

@sdelamo
Copy link
Collaborator

sdelamo commented May 3, 2024

Discussed in #10790

Originally posted by ethanhere May 2, 2024
We use micronaut current latest release 4.4.1 (https://github.com/micronaut-projects/micronaut-platform/releases as on 05/02/2024)
This release has micronaut-core 4.4.6. It's libs.versions.toml has:
managed-jackson = "2.16.1"
managed-jackson-databind = "2.17.0"

Our application pom has dependency management micronaut-platform 4.4.1

        <dependency>
            <groupId>io.micronaut.platform</groupId>
            <artifactId>micronaut-platform</artifactId>
            <version>4.4.1</version>
            <type>pom</type>
            <scope>import</scope>
        </dependency>

        <dependency>
            <groupId>io.micronaut</groupId>
            <artifactId>micronaut-core-bom</artifactId>
            <version>4.4.6</version>
            <type>pom</type>
            <scope>import</scope>
        </dependency>

And our Jackson dependencies follows micronaut 4.4.1's Jackson versions:
Jackson-databind: 2.17.0
Rest: 2.16.1

In our app, when we call
JsonParser parser;

final JsonNode root = parser.readValueAsTree();

We got error:
java.lang.NoSuchMethodError: 'com.fasterxml.jackson.core.JsonParser$NumberTypeFP com.fasterxml.jackson.core.JsonParser.getNumberTypeFP()'
at com.fasterxml.jackson.databind.deser.std.BaseNodeDeserializer._fromFloat(JsonNodeDeserializer.java:765)
at com.fasterxml.jackson.databind.deser.std.BaseNodeDeserializer._deserializeContainerNoRecursion(JsonNodeDeserializer.java:578)
at com.fasterxml.jackson.databind.deser.std.JsonNodeDeserializer.deserialize(JsonNodeDeserializer.java:100)
at com.fasterxml.jackson.databind.deser.std.JsonNodeDeserializer.deserialize(JsonNodeDeserializer.java:25)
at com.fasterxml.jackson.databind.deser.DefaultDeserializationContext.readRootValue(DefaultDeserializationContext.java:342)
at com.fasterxml.jackson.databind.ObjectMapper._readValue(ObjectMapper.java:4881)
at com.fasterxml.jackson.databind.ObjectMapper.readTree(ObjectMapper.java:3145)
at com.fasterxml.jackson.core.JsonParser.readValueAsTree(JsonParser.java:2455)

BaseNodeDeserializer lives in Jackson-databind 2.17.0, in that jar, BaseNodeDeserializer._fromFloat method will call:
protected final JsonNode _fromFloat(JsonParser p, DeserializationContext ctxt, JsonNodeFactory nodeFactory) throws IOException {

	JsonParser.NumberTypeFP nt = p.getNumberTypeFP(); 

JsonParser lives in Jackson-core 2.16.1 and it doesn't have such method.

Should micronaut use consistent Jackson dependencies? How should we resolve the issue?

@sdelamo sdelamo added the type: regression A breaking change was introduced in a minor or patch release label May 3, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
type: regression A breaking change was introduced in a minor or patch release
Projects
Status: No status
Development

No branches or pull requests

1 participant