jankotek / mapdb

MapDB provides concurrent Maps, Sets and Queues backed by disk storage or off-heap-memory. It is a fast and easy to use embedded Java database engine.
https://mapdb.org
Apache License 2.0
4.87k stars 873 forks source link

NoClassDefFoundError regarding EnumEntries since MapDB 3.1.0 #1042

Open chkpnt opened 5 months ago

chkpnt commented 5 months ago

I've just updated MapDB from 3.0.10 to 3.1.0.

Now I'm getting the following error:

Caused by: org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.mapdb.DB]: Factory method 'sessionsDB' threw exception; nested exception is java.lang.NoClassDefFoundError: kotlin/enums/EnumEntriesKt
        at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:185) ~[spring-beans-5.3.31.jar!/:5.3.31]
        at org.springframework.beans.factory.support.ConstructorResolver.instantiate(ConstructorResolver.java:648) ~[spring-beans-5.3.31.jar!/:5.3.31]
        ... 54 common frames omitted
Caused by: java.lang.NoClassDefFoundError: kotlin/enums/EnumEntriesKt
        at org.mapdb.DBMaker$StoreType.<clinit>(DBMaker.kt:35) ~[mapdb-3.1.0.jar!/:na]
        at org.mapdb.DBMaker.fileDB(DBMaker.kt:50) ~[mapdb-3.1.0.jar!/:na]
        at org.mapdb.DBMaker.fileDB(DBMaker.kt:54) ~[mapdb-3.1.0.jar!/:na]

As there is no changelog that mentions required migration steps: What to do? I guess there is a runtime dependency missing. I'm using Java 11.

carlosjepard commented 4 months ago

I'm getting the same error

a7l97nn commented 1 month ago

Same problem for me with Java 21