Sam1236
Sam1236

Reputation: 21

java.lang.NoClassDefFoundError: Could not initialize class org.springframework.data.elasticsearch.core.query.Query

I have below dependencies in the child POM:

<dependency>
    <groupId>org.elasticsearch</groupId>
    <artifactId>elasticsearch</artifactId>
    <version>1.5.2</version>
</dependency>
<dependency>
    <groupId>com.test</groupId>
    <artifactId>test-elastic</artifactId>
    <exclusions>
        <exclusion>
            <groupId>org.elasticsearch</groupId>
            <artifactId>elasticsearch</artifactId>
        </exclusion>
    </exclusions>
</dependency>

I have below dependencies in the parent POM:

<dependency>
    <groupId>org.elasticsearch</groupId>
    <artifactId>elasticsearch</artifactId>
    <version>1.5.2</version>
</dependency>

<dependency>
    <groupId>org.springframework.data</groupId>
    <artifactId>spring-data-elasticsearch</artifactId>
    <version>1.3.5.RELEASE</version>
</dependency>

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-data-elasticsearch</artifactId>
    <version>1.3.8.RELEASE</version>
</dependency>

I'm getting the above exception at calling of build() method in below code:

final AbstractAggregationBuilder aggregation =
        new MaxBuilder(ElasticConstant.Aggregation.MAX_DATE).field(ElasticConstant.Path.DATA
                + "." + DataChangeFilterType.APPROVAL_DATE.getBackEndMapping());

final AbstractAggregationBuilder aggregation2 =
        new MinBuilder(ElasticConstant.Aggregation.MIN_DATE).field(ElasticConstant.Path.DATA
                + "." + DataChangeFilterType.APPROVAL_DATE.getBackEndMapping());
                
final AbstractAggregationBuilder aggregationBuilder = new NestedBuilder(ElasticConstant.Aggregation.DATES).path(ElasticConstant.Path.DATA).subAggregation(aggregation2).subAggregation(aggregation);

query = new NativeSearchQueryBuilder()
        .withIndices(this.mappingInfo.alias(organizationId))
        .withTypes(this.mappingInfo.objectType())
        .addAggregation(aggregationBuilder).withQuery(matchAllQuery())
        .build();

I get this java.lang.NoClassDefFoundError error:

nested exception is java.lang.NoClassDefFoundError: Could not initialize class org.springframework.data.elasticsearch.core.query.Query exception:org.springframework.web.util.NestedServletException: Handler dispatch failed; nested exception is java.lang.NoClassDefFoundError: Could not initialize class org.springframework.data.elasticsearch.core.query.Query | at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1055) | at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:943) | at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006) | at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:909) | at javax.servlet.http.HttpServlet.service(HttpServlet.java:681) | at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883) | at javax.servlet.http.HttpServlet.service(HttpServlet.java:764) | at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231) | at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) | at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52) | at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) | at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) | at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:317) | at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:137) | at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:331) | at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:111) | at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:331) | at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:170) | at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:331) | at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) | at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:331) | at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:105) | at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:331) | at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:56) | at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) | at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:331) | at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:214) | at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:177) | at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:358) | at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:271) | at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) | at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) | at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) | at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) | at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) | at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) | at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) | at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) | at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) | at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) | at org.springframework.boot.web.servlet.support.ErrorPageFilter.doFilter(ErrorPageFilter.java:126) | at org.springframework.boot.web.servlet.support.ErrorPageFilter.access$000(ErrorPageFilter.java:64) | at org.springframework.boot.web.servlet.support.ErrorPageFilter$1.doFilterInternal(ErrorPageFilter.java:101) | at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) | at org.springframework.boot.web.servlet.support.ErrorPageFilter.doFilter(ErrorPageFilter.java:119) | at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) | at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) | at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) | at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) | at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) | at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) | at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:196) | at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) | at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542) | at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:135) | at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:81) | at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:698) | at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) | at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:366) | at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:639) | at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) | at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:847) | at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1680) | at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) | at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) | at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) | at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) | at java.lang.Thread.run(Thread.java:748) | Caused by: java.lang.NoClassDefFoundError: Could not initialize class org.springframework.data.elasticsearch.core.query.Query | at org.springframework.data.elasticsearch.core.query.AbstractQuery.(AbstractQuery.java:37) | at org.springframework.data.elasticsearch.core.query.NativeSearchQuery.(NativeSearchQuery.java:60) | at org.springframework.data.elasticsearch.core.query.NativeSearchQueryBuilder.build(NativeSearchQueryBuilder.java:128)

Can anyone point me in the right direction ?

Upvotes: 0

Views: 3816

Answers (1)

Abacus
Abacus

Reputation: 19421

Elasticsearch 1.5.2 was released on April 27, 2015, Spring Data Elasticsearch 1.3.5 on September 20, 2016 and Spring Boot 1.3.8 on September 21 2016. None of these is in active support anymore.

You should update your dependencies to an actual version and see if this error persists.

Upvotes: 1

Related Questions