NoClassDefFoundError при запуске веб-приложения Hazelcast Management Center

Я пытаюсь запустить веб-приложение центра управления Hazelcast версии 3.2.3, в tomcat 8 (и причал 9) и jvm 1.7.0_51. Я захожу на веб-страницу и ввожу имя пользователя по умолчанию, пароль для входа в систему (admin:admin) и получаю следующее исключение. Сам Hazelcast работает нормально, и я могу программно манипулировать своей картой.

У кого-нибудь еще были проблемы с запуском центра управления?

    javax.servlet.ServletException: Filter execution threw an exception
    root cause

    java.lang.NoClassDefFoundError: Could not initialize class  com.hazelcast.webmonitor.repositories.SerializationHelper
    com.hazelcast.webmonitor.repositories.UserRepository.save(UserRepository.java:47)
    com.hazelcast.webmonitor.repositories.UserRepository.login(UserRepository.java:88)
    com.hazelcast.webmonitor.service.UserManager.login(UserManager.java:188)
    com.hazelcast.webmonitor.service.UserManager.authenticate(UserManager.java:219)
    org.springframework.security.authentication.ProviderManager.authenticate(ProviderManager.java:156)
    org.springframework.security.web.authentication.UsernamePasswordAuthenticationFilter.attemptAuthentication(UsernamePasswordAuthenticationFilter.java:94)
    org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:195)
    org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
    org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:105)
    org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
    org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:87)
    org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
    org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:192)
    org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:160)
    org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:343)
    org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:260)

After removing the 2nd copy of the hazelcast jar I get this message when i try to login to the hazelcast war:

    11-Jul-2014 17:00:10.891 WARNING [http-nio-8080-exec-1]   com.hazelcast.webmonitor.repositories.UserRepository.null Problem while reading   DataSerializable, namespace: 0, id: 0, class: com.hazelcast.webmonitor.model.User,   exception: com.hazelcast.webmonitor.model.User
     com.hazelcast.nio.serialization.HazelcastSerializationException: Problem while reading DataSerializable, namespace: 0, id: 0, class: com.hazelcast.webmonitor.model.User,   exception: com.hazelcast.webmonitor.model.User
        at com.hazelcast.nio.serialization.DataSerializer.read(DataSerializer.java:114)
        at com.hazelcast.nio.serialization.DataSerializer.read(DataSerializer.java:36)
        at  com.hazelcast.nio.serialization.StreamSerializerAdapter.read(StreamSerializerAdapter.java:59)
        at com.hazelcast.nio.serialization.SerializationServiceImpl.toObject(SerializationServiceImpl.java:221)
         at com.hazelcast.webmonitor.repositories.SerializationHelper.deserialize(SerializationHelper.java:87)
        at com.hazelcast.webmonitor.repositories.SerializationHelper.deserialize(SerializationHelper.java:94)
        at com.hazelcast.webmonitor.repositories.UserRepository.get(UserRepository.java:151)
        at com.hazelcast.webmonitor.repositories.UserRepository.login(UserRepository.java:80)
        at com.hazelcast.webmonitor.service.UserManager.login(UserManager.java:188)
        at com.hazelcast.webmonitor.service.UserManager.authenticate(UserManager.java:219)
        at org.springframework.security.authentication.ProviderManager.authenticate(ProviderManager.java:156)
        at org.springframework.security.web.authentication.UsernamePasswordAuthenticationFilter.attemptAuthentication(UsernamePasswordAuthenticationFilter.java:94)
        at org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:195)
        at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
        at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:105)
        at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
        at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:87)
        at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
        at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:192)
        at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:160)
        at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:343)
        at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:260)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:219)
        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:106)
        at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:503)
        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:136)
        at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:78)
        at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:610)
        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:88)
        at com.jamonapi.http.JAMonTomcatValve.invoke(JAMonTomcatValve.java:67)
        at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:526)
        at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1033)
        at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:652)
        at org.apache.coyote.http11.Http11NioProtocol$Http11ConnectionHandler.process(Http11NioProtocol.java:222)
        at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1566)
        at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1523)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
        at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
        at java.lang.Thread.run(Thread.java:744)
Caused by: java.lang.ClassNotFoundException: com.hazelcast.webmonitor.model.User
        at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
        at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:425)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
        at com.hazelcast.nio.ClassLoaderUtil.tryLoadClass(ClassLoaderUtil.java:123)
        at com.hazelcast.nio.ClassLoaderUtil.loadClass(ClassLoaderUtil.java:112)
        at com.hazelcast.nio.ClassLoaderUtil.newInstance(ClassLoaderUtil.java:64)
        at com.hazelcast.nio.serialization.DataSerializer.read(DataSerializer.java:103)
        ... 41 more

person user3519746    schedule 07.07.2014    source источник


Ответы (1)


У вас есть несколько версий банок Hazelcast в пути к классам? Если это так, у вас должен быть только один в вашем пути к классам, чтобы правильно построить службу сериализации Hazelcast и Management Center.

Служба сериализации инициализирована в классе SerializationHelper внутри статического блока, поэтому созданное там исключение распространяется до загрузчика классов как NoClassDefFoundError.

person eminn    schedule 09.07.2014
comment
Это было полезно. Я установил hazelcast здесь: /apache-tomcat-8.0.8/lib/hazelcast-3.2.3.jar, и, кажется, он также поставляется в комплекте с war. Я удалил версию в войне, и у tomcat больше нет ошибки. ‹br/› Однако я все еще не могу войти в систему. Я попытался ввести admin:admin и dev:dev_password (из hazelcast.xml). ‹br/› Я получаю следующую ошибку: Ошибка! Неверный логин или пароль! - person user3519746; 11.07.2014