2014-03-26 40 views
2

我的項目在Tomcat 7中運行良好,但在Maven中使用帶Intellij 13的Tomcat 8時失敗。從Tomcat 7更新到Tomcat 8給了我java.lang.IllegalArgumentException:URL不能爲null UrlResource

2014-03-25 19:10:01.204 [RMI TCP Connection(3)-127.0.0.1] ERROR  o.s.web.context.ContextLoader - Context initialization failed 
java.lang.IllegalArgumentException: URL must not be null 
at org.springframework.util.Assert.notNull(Assert.java:112) ~[Assert.class:4.0.2.RELEASE] 
at org.springframework.core.io.UrlResource.<init>(UrlResource.java:77) ~[UrlResource.class:4.0.2.RELEASE] 
at org.springframework.core.io.support.PathMatchingResourcePatternResolver.convertClassLoaderURL(PathMatchingResourcePatternResolver.java:322) ~[PathMatchingResourcePatternResolver.class:4.0.2.RELEASE] 
at org.springframework.core.io.support.PathMatchingResourcePatternResolver.findAllClassPathResources(PathMatchingResourcePatternResolver.java:308) ~[PathMatchingResourcePatternResolver.class:4.0.2.RELEASE] 
at org.springframework.core.io.support.PathMatchingResourcePatternResolver.getResources(PathMatchingResourcePatternResolver.java:273) ~[PathMatchingResourcePatternResolver.class:4.0.2.RELEASE] 
at org.springframework.core.io.support.PathMatchingResourcePatternResolver.findPathMatchingResources(PathMatchingResourcePatternResolver.java:339) ~[PathMatchingResourcePatternResolver.class:4.0.2.RELEASE] 
at org.springframework.core.io.support.PathMatchingResourcePatternResolver.getResources(PathMatchingResourcePatternResolver.java:269) ~[PathMatchingResourcePatternResolver.class:4.0.2.RELEASE] 
at org.springframework.context.support.AbstractApplicationContext.getResources(AbstractApplicationContext.java:1170) ~[AbstractApplicationContext.class:4.0.2.RELEASE] 
at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:215) ~[AbstractBeanDefinitionReader.class:4.0.2.RELEASE] 
at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:187) ~[AbstractBeanDefinitionReader.class:4.0.2.RELEASE] 
at org.springframework.context.annotation.ConfigurationClassBeanDefinitionReader.loadBeanDefinitionsFromImportedResources(ConfigurationClassBeanDefinitionReader.java:313) ~[ConfigurationClassBeanDefinitionReader.class:4.0.2.RELEASE] 
at org.springframework.context.annotation.ConfigurationClassBeanDefinitionReader.loadBeanDefinitionsForConfigurationClass(ConfigurationClassBeanDefinitionReader.java:138) ~[ConfigurationClassBeanDefinitionReader.class:4.0.2.RELEASE] 
at org.springframework.context.annotation.ConfigurationClassBeanDefinitionReader.loadBeanDefinitions(ConfigurationClassBeanDefinitionReader.java:116) ~[ConfigurationClassBeanDefinitionReader.class:4.0.2.RELEASE] 
at org.springframework.context.annotation.ConfigurationClassPostProcessor.processConfigBeanDefinitions(ConfigurationClassPostProcessor.java:324) ~[ConfigurationClassPostProcessor.class:4.0.2.RELEASE] 
at org.springframework.context.annotation.ConfigurationClassPostProcessor.postProcessBeanDefinitionRegistry(ConfigurationClassPostProcessor.java:243) ~[ConfigurationClassPostProcessor.class:4.0.2.RELEASE] 
at org.springframework.context.support.PostProcessorRegistrationDelegate.invokeBeanDefinitionRegistryPostProcessors(PostProcessorRegistrationDelegate.java:254) ~[PostProcessorRegistrationDelegate.class:4.0.2.RELEASE] 
at org.springframework.context.support.PostProcessorRegistrationDelegate.invokeBeanFactoryPostProcessors(PostProcessorRegistrationDelegate.java:94) ~[PostProcessorRegistrationDelegate.class:4.0.2.RELEASE] 
at org.springframework.context.support.AbstractApplicationContext.invokeBeanFactoryPostProcessors(AbstractApplicationContext.java:609) ~[AbstractApplicationContext.class:4.0.2.RELEASE] 
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:464) ~[AbstractApplicationContext.class:4.0.2.RELEASE] 
at org.springframework.web.context.ContextLoader.configureAndRefreshWebApplicationContext(ContextLoader.java:403) ~[ContextLoader.class:4.0.2.RELEASE] 
at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:306) ~[ContextLoader.class:4.0.2.RELEASE] 
at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:106) [ContextLoaderListener.class:4.0.2.RELEASE] 
at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4738) [catalina.jar:8.0.3] 
at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5158) [catalina.jar:8.0.3] 
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150) [catalina.jar:8.0.3] 
at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:726) [catalina.jar:8.0.3] 
at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:702) [catalina.jar:8.0.3] 
at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:697) [catalina.jar:8.0.3] 
at org.apache.catalina.startup.HostConfig.manageApp(HostConfig.java:1646) [catalina.jar:8.0.3] 
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.8.0] 
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[na:1.8.0] 
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.8.0] 
at java.lang.reflect.Method.invoke(Method.java:483) ~[na:1.8.0] 
at org.apache.tomcat.util.modeler.BaseModelMBean.invoke(BaseModelMBean.java:300) [tomcat-coyote.jar:8.0.3] 
at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:819) [na:1.8.0] 
at com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxMBeanServer.java:801) [na:1.8.0] 
at org.apache.catalina.mbeans.MBeanFactory.createStandardContext(MBeanFactory.java:463) [catalina.jar:8.0.3] 
at org.apache.catalina.mbeans.MBeanFactory.createStandardContext(MBeanFactory.java:413) [catalina.jar:8.0.3] 
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.8.0] 
at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:819) [na:1.8.0] 
at com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxMBeanServer.java:801) [na:1.8.0] 
at javax.management.remote.rmi.RMIConnectionImpl.doOperation(RMIConnectionImpl.java:1466) [na:1.8.0] 
at javax.management.remote.rmi.RMIConnectionImpl.access$300(RMIConnectionImpl.java:76) [na:1.8.0] 
at javax.management.remote.rmi.RMIConnectionImpl$PrivilegedOperation.run(RMIConnectionImpl.java:1307) [na:1.8.0] 
at javax.management.remote.rmi.RMIConnectionImpl.doPrivilegedOperation(RMIConnectionImpl.java:1399) [na:1.8.0] 
at javax.management.remote.rmi.RMIConnectionImpl.invoke(RMIConnectionImpl.java:828) [na:1.8.0] 
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.8.0] 
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[na:1.8.0] 
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.8.0] 
at java.lang.reflect.Method.invoke(Method.java:483) ~[na:1.8.0] 
at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:323) [na:1.8.0] 
at sun.rmi.transport.Transport$1.run(Transport.java:178) [na:1.8.0] 
at sun.rmi.transport.Transport$1.run(Transport.java:175) [na:1.8.0] 
at java.security.AccessController.doPrivileged(Native Method) [na:1.8.0] 
at sun.rmi.transport.Transport.serviceCall(Transport.java:174) [na:1.8.0] 
at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:557) [na:1.8.0] 
at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:812) [na:1.8.0] 
at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:671) [na:1.8.0] 
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) [na:1.8.0] 
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) [na:1.8.0] 
at java.lang.Thread.run(Thread.java:744) [na:1.8.0] 

2014-03-25 19:31:44.961 [RMI TCP Connection(5)-127.0.0.1] WARN o.s.w.c.s.AnnotationConfigWebApplicationContext - Exception thrown from LifecycleProcessor on context close 
java.lang.IllegalStateException: LifecycleProcessor not initialized - call 'refresh' before invoking lifecycle methods via the context: Root WebApplicationContext: startup date [Tue Mar 25 19:31:43 PDT 2014]; root of context hierarchy 
at org.springframework.context.support.AbstractApplicationContext.getLifecycleProcessor(AbstractApplicationContext.java:359) [AbstractApplicationContext.class:4.0.2.RELEASE] 
at org.springframework.context.support.AbstractApplicationContext.doClose(AbstractApplicationContext.java:888) [AbstractApplicationContext.class:4.0.2.RELEASE] 
at org.springframework.context.support.AbstractApplicationContext.close(AbstractApplicationContext.java:841) [AbstractApplicationContext.class:4.0.2.RELEASE] 
at org.springframework.web.context.ContextLoader.closeWebApplicationContext(ContextLoader.java:579) [ContextLoader.class:4.0.2.RELEASE] 
at org.springframework.web.context.ContextLoaderListener.contextDestroyed(ContextLoaderListener.java:115) [ContextLoaderListener.class:4.0.2.RELEASE] 
at org.apache.catalina.core.StandardContext.listenerStop(StandardContext.java:4779) [catalina.jar:8.0.3] 
at org.apache.catalina.core.StandardContext.stopInternal(StandardContext.java:5372) [catalina.jar:8.0.3] 
at org.apache.catalina.util.LifecycleBase.stop(LifecycleBase.java:232) [catalina.jar:8.0.3] 
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:160) [catalina.jar:8.0.3] 
at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:726) [catalina.jar:8.0.3] 
at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:702) [catalina.jar:8.0.3] 
at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:697) [catalina.jar:8.0.3] 
at org.apache.catalina.startup.HostConfig.manageApp(HostConfig.java:1646) [catalina.jar:8.0.3] 
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.8.0] 
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[na:1.8.0] 
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.8.0] 
at java.lang.reflect.Method.invoke(Method.java:483) ~[na:1.8.0] 
at org.apache.tomcat.util.modeler.BaseModelMBean.invoke(BaseModelMBean.java:300) [tomcat-coyote.jar:8.0.3] 
at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:819) [na:1.8.0] 
at com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxMBeanServer.java:801) [na:1.8.0] 
at org.apache.catalina.mbeans.MBeanFactory.createStandardContext(MBeanFactory.java:463) [catalina.jar:8.0.3] 
at org.apache.catalina.mbeans.MBeanFactory.createStandardContext(MBeanFactory.java:413) [catalina.jar:8.0.3] 
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.8.0] 
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[na:1.8.0] 
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.8.0] 
at java.lang.reflect.Method.invoke(Method.java:483) ~[na:1.8.0] 
at org.apache.tomcat.util.modeler.BaseModelMBean.invoke(BaseModelMBean.java:300) [tomcat-coyote.jar:8.0.3] 
at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:819) [na:1.8.0] 
at com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxMBeanServer.java:801) [na:1.8.0] 
at javax.management.remote.rmi.RMIConnectionImpl.doOperation(RMIConnectionImpl.java:1466) [na:1.8.0] 
at javax.management.remote.rmi.RMIConnectionImpl.access$300(RMIConnectionImpl.java:76) [na:1.8.0] 
at javax.management.remote.rmi.RMIConnectionImpl$PrivilegedOperation.run(RMIConnectionImpl.java:1307) [na:1.8.0] 
at javax.management.remote.rmi.RMIConnectionImpl.doPrivilegedOperation(RMIConnectionImpl.java:1399) [na:1.8.0] 
at javax.management.remote.rmi.RMIConnectionImpl.invoke(RMIConnectionImpl.java:828) [na:1.8.0] 
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.8.0] 
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[na:1.8.0] 
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.8.0] 
at java.lang.reflect.Method.invoke(Method.java:483) ~[na:1.8.0] 
at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:323) [na:1.8.0] 
at sun.rmi.transport.Transport$1.run(Transport.java:178) [na:1.8.0] 
at sun.rmi.transport.Transport$1.run(Transport.java:175) [na:1.8.0] 
at java.security.AccessController.doPrivileged(Native Method) [na:1.8.0] 
at sun.rmi.transport.Transport.serviceCall(Transport.java:174) [na:1.8.0] 
at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:557) [na:1.8.0] 
at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:812) [na:1.8.0] 
at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:671) [na:1.8.0] 
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) [na:1.8.0] 
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) [na:1.8.0] 
at java.lang.Thread.run(Thread.java:744) [na:1.8.0] 

我已經無效的緩存並重新啓動,傾銷我的Maven回購和redownloaded依賴項。 有什麼我缺少的,必須添加,以允許Tomcat 8的工作?

+0

你看過一個調試器什麼是空網址,它來自哪裏?它想要做什麼? – eis

+0

[這篇文章](http://stackoverflow.com/questions/14520218/jboss-as-7-upgrade-to-java-7-jboss-vfs)表明它可能是java7與java6相關。 – eis

+0

經過多次調試後,事實證明,在進入Tomcat 8之後,我的_ @ ImportResource({「classpath *:spring-security-context.xml」})_沒有正確加載。我有_ @ ImportResource({「classpath *:* spring-security-context.xml」})_在以前的版本中工作正常。一旦我刪除了錯誤*,這一切都再次運作。 – ssobus

回答

1

經過大量調試後,事實證明,在進入Tomcat 8之後,我的@ImportResource({「classpath *:spring-security-context.xml」})未能正確加載。

我有@ImportResource({「classpath *:* spring-security-context.xml」}),在以前的版本中工作得很好。一旦我在「春天」之前刪除了錯誤*,它就再次起作用了。