Aplicação web não inicializa no Tomcat

4 respostas
jsftomcatjava
T

Pessoal bom dia,

Estou com uma dúvida na inicialização de uma aplicação web, desenvolvi meu projeto no netbeans com o tomcat e agora estou executando ele localmente em outro máquina mas me deparei com o seguinte erro:

fev 14, 2017 11:29:49 AM org.springframework.web.context.ContextLoader initWebApplicationContext
GRAVE: Context initialization failed
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'org.springframework.security.web.authentication.rememberme.TokenBasedRememberMeServices#0': Initialization of bean failed; nested exception is org.springframework.beans.factory.CannotLoadBeanClassException: Cannot find class [springsecurity.SpringAuthenticationSuccessHandler] for bean with name 'springAuthenticationSuccessHandler' defined in ServletContext resource [/WEB-INF/applicationContext-security.xml]; nested exception is java.lang.ClassNotFoundException: springsecurity.SpringAuthenticationSuccessHandler
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:527)
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:456)
	at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:291)
	at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222)
	at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:288)
	at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:190)
	at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:574)
	at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:895)
	at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:425)
	at org.springframework.web.context.ContextLoader.createWebApplicationContext(ContextLoader.java:276)
	at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:197)
	at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:47)
	at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:5118)
	at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5634)
	at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:145)
	at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:899)
	at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:875)
	at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:652)
	at org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:1092)
	at org.apache.catalina.startup.HostConfig$DeployWar.run(HostConfig.java:1984)
	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
	at java.util.concurrent.FutureTask.run(FutureTask.java:266)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
	at java.lang.Thread.run(Thread.java:745)
Caused by: org.springframework.beans.factory.CannotLoadBeanClassException: Cannot find class [springsecurity.SpringAuthenticationSuccessHandler] for bean with name 'springAuthenticationSuccessHandler' defined in ServletContext resource [/WEB-INF/applicationContext-security.xml]; nested exception is java.lang.ClassNotFoundException: springsecurity.SpringAuthenticationSuccessHandler
	at org.springframework.beans.factory.support.AbstractBeanFactory.resolveBeanClass(AbstractBeanFactory.java:1235)
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.predictBeanType(AbstractAutowireCapableBeanFactory.java:576)
	at org.springframework.beans.factory.support.AbstractBeanFactory.isFactoryBean(AbstractBeanFactory.java:1304)
	at org.springframework.beans.factory.support.DefaultListableBeanFactory.getBeanNamesForType(DefaultListableBeanFactory.java:315)
	at org.springframework.beans.factory.support.DefaultListableBeanFactory.getBeansOfType(DefaultListableBeanFactory.java:394)
	at org.springframework.beans.factory.support.DefaultListableBeanFactory.getBeansOfType(DefaultListableBeanFactory.java:388)
	at org.springframework.security.config.http.UserDetailsServiceInjectionBeanPostProcessor.getBeansOfType(UserDetailsServiceInjectionBeanPostProcessor.java:165)
	at org.springframework.security.config.http.UserDetailsServiceInjectionBeanPostProcessor.getUserDetailsService(UserDetailsServiceInjectionBeanPostProcessor.java:132)
	at org.springframework.security.config.http.UserDetailsServiceInjectionBeanPostProcessor.injectUserDetailsServiceIntoRememberMeServices(UserDetailsServiceInjectionBeanPostProcessor.java:84)
	at org.springframework.security.config.http.UserDetailsServiceInjectionBeanPostProcessor.postProcessBeforeInitialization(UserDetailsServiceInjectionBeanPostProcessor.java:58)
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyBeanPostProcessorsBeforeInitialization(AbstractAutowireCapableBeanFactory.java:394)
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1405)
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:519)
	... 24 more
Caused by: java.lang.ClassNotFoundException: springsecurity.SpringAuthenticationSuccessHandler
	at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1892)
	at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1735)
	at org.springframework.util.ClassUtils.forName(ClassUtils.java:257)
	at org.springframework.beans.factory.support.AbstractBeanDefinition.resolveBeanClass(AbstractBeanDefinition.java:408)
	at org.springframework.beans.factory.support.AbstractBeanFactory.doResolveBeanClass(AbstractBeanFactory.java:1256)
	at org.springframework.beans.factory.support.AbstractBeanFactory.resolveBeanClass(AbstractBeanFactory.java:1227)
	... 36 more

Cannot find class [springsecurity.SpringAuthenticationSuccessHandler] for bean with name ‘springAuthenticationSuccessHandler’ defined in ServletContext resource [/WEB-INF/applicationContext-security.xml]; nested exception is java.lang.ClassNotFoundException: springsecurity.SpringAuthenticationSuccessHandler

Como resolver para que possa localizar a classe SpringAuthenticationSuccessHandler? É necessário definir em algum arquivo .xml específico?

4 Respostas

D

Por alguma razão eu acredito que você tenha suprimido parte do nome da classe em questão.
O nome correto seria org.springframework.security.web.authentication.AuthenticationSuccessHandler e trata-se de uma interface.
Confere aí.

T

Eu utilizo uma classe chamada SpringAuthenticationSucessHandler localizada no pacote springsecurity que implementa AuthenticationSucessHandler e lá eu importo org.springframework.security.web.authentication.AuthenticationSuccessHandler.

Obrigado pela resposta mas creio que a forma estava correta mesmo, tem outra sugestão do que seja?

D

Então, a minha resposta foi baseada no que consta aí em cima e que está sendo apontado como causa da exceção. Se o problema fosse não encontrar a classe que você usou, o erro seria algo como Caused by: java.lang.ClassNotFoundException: org.springframework.security.web.authentication.AuthenticationSuccessHandlere não Caused by: java.lang.ClassNotFoundException: springsecurity.SpringAuthenticationSuccessHandler

T

Entendi, conferi aqui o meu import e lá consta import org.springframework.security.web.authentication.AuthenticationSuccessHandler; dentro do ambiente de desenvolvimento funciona perfeitamente, quando tento rodar no tomcat em outra máquina dá erro nessa parte. Ainda estou quebrando cabeça aqui e nada até o momento, tem outra ideia?

Criado 14 de fevereiro de 2017
Ultima resposta 21 de fev. de 2017
Respostas 4
Participantes 2