Skip to content

ClassNotFoundException when using javers-persistence-sql and gson 2.9.0 #1188

@bitfisher

Description

@bitfisher

Clear description of my expectations versus reality
I'm using javers with javers-persistence-sql and expected that updating gson from 2.8.9 to 2.9.0 wouldn't do any harm.
But using gson 2.9.0 will result in

Exception in thread "main" java.lang.NoClassDefFoundError: com/google/gson/internal/LinkedHashTreeMap
	at org.javers.repository.sql.schema.FixedSchemaFactory.allTablesSchema(FixedSchemaFactory.java:54)
	at org.javers.repository.sql.schema.JaversSchemaManager.ensureSchema(JaversSchemaManager.java:46)
	at org.javers.repository.sql.JaversSqlRepository.ensureSchema(JaversSqlRepository.java:186)
	at org.javers.core.JaversBuilder.build(JaversBuilder.java:133)
Caused by: java.lang.ClassNotFoundException: com.google.gson.internal.LinkedHashTreeMap
	at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(Unknown Source)
	at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(Unknown Source)
	at java.base/java.lang.ClassLoader.loadClass(Unknown Source)
	... 10 more

...

Steps To Reproduce
Update gson to 2.9.0 and call JaversBuilder.build

Javers' Version
6.6.2

Additional context
As stated in in https://github.com/google/gson/releases/tag/gson-parent-2.9.0 LinkedHashTreeMap is removed from gson but is used in javers-persistence-sql here https://github.com/javers/javers/blob/javers-6.6.2/javers-persistence-sql/src/main/java/org/javers/repository/sql/schema/FixedSchemaFactory.java
...

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions