16
current version jackson-databind-2.9.10.1.jar
need to upgrade jackson-databind-2.11.1.jar

I could not find ToStringSerializerBase class in new version of jackson updated jar

org.springframework.beans.BeanInstantiationException: Failed to instantiate [com.fasterxml.jackson.datatype.jsr310.JavaTimeModule]: Unresolvable class definition; nested exception is java.lang.NoClassDefFoundError: com/fasterxml/jackson/databind/ser/std/ToStringSerializerBase

internal dependencies i found

<dependency>
     <groupId>io.springfox</groupId>
     <artifactId>springfox-swagger2</artifactId>
     <version>2.10.5</version>
</dependency>

Any idea how can I solve this?

ssp
  • 294
  • 1
  • 3
  • 7
  • You can exclude the jackson-databind dependency from springfox-swagger2 and see if that works? ` io.springfox springfox-swagger2 2.10.5 com.fasterxml.jackson.core jackson-databind ` – Govind Jul 09 '20 at 03:44
  • No that does not solve. Seems application search searching it while running. org.springframework.beans.BeanInstantiationException: Failed to instantiate [com.fasterxml.jackson.datatype.jsr310.JavaTimeModule]: Unresolvable class definition; nested exception is java.lang.NoClassDefFoundError: com/fasterxml/jackson/databind/ser/std/ToStringSerializerBase at org.springframework.beans.BeanUtils.instantiateClass(BeanUtils.java:132) at org.springframework.http.converter.json.Jackson2ObjectMapperBuilder.registerWell – ssp Jul 09 '20 at 04:30
  • Can you please provide the complete trace? – Govind Jul 09 '20 at 05:02
  • 2
    Is there any update on this issue? – XWZ Mar 11 '21 at 04:35

2 Answers2

29

I had a similar error with Spring vs. Jackson, and solved it, see below.

  1. I had a lot of dependencies on Spring stuff, and the below dependencies on Jackson:
        <dependency>
            <groupId>com.fasterxml.jackson.core</groupId>
            <artifactId>jackson-databind</artifactId>
            <version>2.9.9</version>
        </dependency>
        <dependency>
            <groupId>com.fasterxml.jackson.core</groupId>
            <artifactId>jackson-core</artifactId>
            <version>2.9.9</version>
        </dependency>

I ran mvn dependency:tree|grep jackson and saw clashing versions:

[INFO] |     +- com.fasterxml.jackson.datatype:jackson-datatype-jdk8:jar:2.11.4:compile
[INFO] |     +- com.fasterxml.jackson.datatype:jackson-datatype-jsr310:jar:2.11.4:compile
[INFO] |     \- com.fasterxml.jackson.module:jackson-module-parameter-names:jar:2.11.4:compile
[INFO] +- com.fasterxml.jackson.core:jackson-databind:jar:2.9.9:compile
[INFO] |  \- com.fasterxml.jackson.core:jackson-annotations:jar:2.11.4:compile
[INFO] \- com.fasterxml.jackson.core:jackson-core:jar:2.9.9:compile
  1. So I changed a version of Jackson I directly imported into my pom.xml to match Spring's one and all worked smoothly:
        <dependency>
            <groupId>com.fasterxml.jackson.core</groupId>
            <artifactId>jackson-databind</artifactId>
            <version>2.11.4</version>
        </dependency>
        <dependency>
            <groupId>com.fasterxml.jackson.core</groupId>
            <artifactId>jackson-core</artifactId>
            <version>2.11.4</version>
        </dependency>

Hope this helps. Enjoy!

Eugene Gr. Philippov
  • 1,908
  • 2
  • 23
  • 18
8

ToStringSerializerBase is present in version 2.12 of jackson-databind

POM dependecy

<dependency>
            <groupId>com.fasterxml.jackson.core</groupId>
            <artifactId>jackson-databind</artifactId>
            <version>2.12.0</version>
        </dependency>

ToStringSerializerBase is present in Jar

(base) rohiagra-mac:faw-qa-api rohiagra$ jar -tvf target/faw-qa-api-1.0-SNAPSHOT.jar | grep "ToStringSerializerBase"
  3347 Sun Nov 29 14:46:22 IST 2020 com/fasterxml/jackson/databind/ser/std/ToStringSerializerBase.class
Rohit Agrawal
  • 191
  • 1
  • 5