Bueno después de perder unos cuantos días he encontrado el problema y la solución aunque no me gusta. Describo los pasos que he seguido.
He tenido que restaurar un commit más antiguo para eliminar toda la configuración de security y nada seguía sin desplegar. Pues he hecho un maven clean de todas las dependencias y eliminado la configuración del servidor apache en eclipse y volví a configurarlo.
Seguí este tutorial para empezar con algo sencillo:
http://www.mkyong.com/spring-security/spring-security-hello-world-example/
Y seguía con problemas, concretamente tenía este error:
Código PHP:
GRAVE: Excepción enviando evento de contexto destruído a instancia de escuchador de clase org.springframework.web.context.ContextLoaderListener
java.lang.IllegalStateException: BeanFactory not initialized or already closed - call 'refresh' before accessing beans via the ApplicationContext
at org.springframework.context.support.AbstractRefreshableApplicationContext.getBeanFactory(AbstractRefreshableApplicationContext.java:172)
at org.springframework.context.support.AbstractApplicationContext.destroyBeans(AbstractApplicationContext.java:1078)
at org.springframework.context.support.AbstractApplicationContext.doClose(AbstractApplicationContext.java:1052)
at org.springframework.context.support.AbstractApplicationContext.close(AbstractApplicationContext.java:1000)
at org.springframework.web.context.ContextLoader.closeWebApplicationContext(ContextLoader.java:554)
at org.springframework.web.context.ContextLoaderListener.contextDestroyed(ContextLoaderListener.java:142)
at org.apache.catalina.core.StandardContext.listenerStop(StandardContext.java:4763)
at org.apache.catalina.core.StandardContext$4.run(StandardContext.java:5472)
at java.lang.Thread.run(Thread.java:662)
at org.apache.catalina.core.StandardContext.stopInternal(StandardContext.java:5481)
at org.apache.catalina.util.LifecycleBase.stop(LifecycleBase.java:225)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:153)
at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:1033)
at org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:774)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:145)
at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:1033)
at org.apache.catalina.core.StandardEngine.startInternal(StandardEngine.java:291)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:145)
at org.apache.catalina.core.StandardService.startInternal(StandardService.java:443)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:145)
at org.apache.catalina.core.StandardServer.startInternal(StandardServer.java:727)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:145)
at org.apache.catalina.startup.Catalina.start(Catalina.java:620)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:303)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:431)
17-nov-2013 18:03:46 org.apache.coyote.AbstractProtocolHandler start
INFO: Starting ProtocolHandler ["http-bio-8080"]
17-nov-2013 18:03:46 org.apache.coyote.AbstractProtocolHandler start
INFO: Starting ProtocolHandler ["ajp-bio-8009"]
17-nov-2013 18:03:46 org.apache.catalina.startup.Catalina start
INFO: Server startup in 5026 ms
El problema son las versiones de spring y spring security. Estaba utilizando la versión 3.2.2 de spring y la 3.1.4 de security y nada. Pasé a usar la 3.1.4 en ambas dependencias y nada. Como en el tutorial tuve que usar la 3.0.5. Esto me da algo de rabia porque soy muy de usar siempre versiones actualizadas. ¿Alguien sabe el origen del problema?
Un saludo y gracias.