'ClassNotFoundException: org.springframework.data.elasticsearch.core.query.RescorerQuery

I'm using spring-data-elasticsearch:4.3.2 and spring-boot-starter:2.6.4, I can navigate to the RescorerQuery class in Intellij but upon bootstrapping, it logs this error:

Caused by: java.lang.NoClassDefFoundError: org/springframework/data/elasticsearch/core/query/RescorerQuery
    at java.base/java.lang.Class.getDeclaredMethods0(Native Method)
    at java.base/java.lang.Class.privateGetDeclaredMethods(Class.java:3166)
    at java.base/java.lang.Class.getDeclaredMethods(Class.java:2309)
    at org.springframework.util.ReflectionUtils.getDeclaredMethods(ReflectionUtils.java:463)
    ... 35 common frames omitted
Caused by: java.lang.ClassNotFoundException: org.springframework.data.elasticsearch.core.query.RescorerQuery
    at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:581)
    at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:178)
    at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:522)
    ... 39 common frames omitted

Update: Turns out it is due to version compatibility. If I change spring-boot-starter to version 2.5.5 it works perfectly. However RescorerQuery is not recommended since it will make the query time a lot longer.



Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source