2015-01-07 54 views
5

很新的这一点,但,当我跑了,我想升级到Java 8从Java 6,我建立了用java 8.编译罚款春IllegalStateExceptions升级到Java 8

但有一些服务器错误时应用。我读到java 8所需的弹簧被升级到版本4,所以我遵循this指南来做到这一点。在经历了一阵心痛之后,所有事情都回来编译了,但我仍然得到错误。我知道它仍然是一个版本问题,但我不知道从哪里开始试图找出在哪里...

我正在运行tomcat 6.0.33,Java 8(希望),春天4(也希望)它是一个RESTful Web服务。

我更新了tomcat以运行java 8,并且我的路径变量是最新的。

Merci水桶!这是完整的跟踪。

2015-01-07 14:53:54.270 ERROR: org.springframework.web.context.ContextLoader - Context initialization failed 
java.lang.IllegalArgumentException 
    at org.springframework.asm.ClassReader.<init>(Unknown Source) 
    at org.springframework.asm.ClassReader.<init>(Unknown Source) 
    at org.springframework.asm.ClassReader.<init>(Unknown Source) 
    at org.springframework.core.type.classreading.SimpleMetadataReader.<init>(SimpleMetadataReader.java:52) 
    at org.springframework.core.type.classreading.SimpleMetadataReaderFactory.getMetadataReader(SimpleMetadataReaderFactory.java:80) 
    at org.springframework.core.type.classreading.CachingMetadataReaderFactory.getMetadataReader(CachingMetadataReaderFactory.java:102) 
    at org.springframework.core.type.classreading.SimpleMetadataReaderFactory.getMetadataReader(SimpleMetadataReaderFactory.java:76) 
    at org.springframework.context.annotation.ConfigurationClassUtils.checkConfigurationClassCandidate(ConfigurationClassUtils.java:70) 
    at org.springframework.context.annotation.ConfigurationClassPostProcessor.processConfigBeanDefinitions(ConfigurationClassPostProcessor.java:253) 
    at org.springframework.context.annotation.ConfigurationClassPostProcessor.postProcessBeanDefinitionRegistry(ConfigurationClassPostProcessor.java:223) 
    at org.springframework.context.support.AbstractApplicationContext.invokeBeanFactoryPostProcessors(AbstractApplicationContext.java:630) 
    at org.springframework.context.support.AbstractApplicationContext.__refresh(AbstractApplicationContext.java:461) 
    at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java) 
    at org.springframework.web.context.ContextLoader.configureAndRefreshWebApplicationContext(ContextLoader.java:389) 
    at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:294) 
    at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:112) 
    at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4206) 
    at org.apache.catalina.core.StandardContext.start(StandardContext.java:4705) 
    at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:799) 
    at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:779) 
    at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:601) 
    at org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:943) 
    at org.apache.catalina.startup.HostConfig.deployWARs(HostConfig.java:778) 
    at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:504) 
    at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1317) 
    at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:324) 
    at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:142) 
    at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1065) 
    at org.apache.catalina.core.StandardHost.start(StandardHost.java:840) 
    at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1057) 
    at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:463) 
    at org.apache.catalina.core.StandardService.start(StandardService.java:525) 
    at org.apache.catalina.core.StandardServer.start(StandardServer.java:754) 
    at org.apache.catalina.startup.Catalina.start(Catalina.java:595) 
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) 
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
    at java.lang.reflect.Method.invoke(Method.java:483) 
    at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:289) 
    at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:414) 
Jan 07, 2015 2:53:54 PM org.apache.catalina.core.StandardContext start 
SEVERE: Error listenerStart 
Jan 07, 2015 2:53:54 PM org.apache.catalina.core.StandardContext start 
SEVERE: Context [] startup failed due to previous errors 
2015-01-07 14:53:54.345 INFO : org.springframework.web.context.support.XmlWebApplicationContext - Closing Root WebApplicationContext: startup date [Wed Jan 07 14:53:45 GMT 2015]; root of context hierarchy 
2015-01-07 14:53:54.354 WARN : org.springframework.web.context.support.XmlWebApplicationContext - Exception thrown from ApplicationListener handling ContextClosedEvent 
java.lang.IllegalStateException: ApplicationEventMulticaster not initialized - call 'refresh' before multicasting events via the context: Root WebApplicationContext: startup date [Wed Jan 07 14:53:45 GMT 2015]; root of context hierarchy 
    at org.springframework.context.support.AbstractApplicationContext.getApplicationEventMulticaster(AbstractApplicationContext.java:347) 
    at org.springframework.context.support.AbstractApplicationContext.publishEvent(AbstractApplicationContext.java:334) 
    at org.springframework.context.support.AbstractApplicationContext.doClose(AbstractApplicationContext.java:1049) 
    at org.springframework.context.support.AbstractApplicationContext.close(AbstractApplicationContext.java:1010) 
    at org.springframework.web.context.ContextLoader.closeWebApplicationContext(ContextLoader.java:558) 
    at org.springframework.web.context.ContextLoaderListener.contextDestroyed(ContextLoaderListener.java:143) 
    at org.apache.catalina.core.StandardContext.listenerStop(StandardContext.java:4245) 
    at org.apache.catalina.core.StandardContext.__stop(StandardContext.java:4886) 
    at org.apache.catalina.core.StandardContext.stop(StandardContext.java) 
    at org.apache.catalina.core.StandardContext.start(StandardContext.java:4750) 
    at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:799) 
    at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:779) 
    at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:601) 
    at org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:943) 
    at org.apache.catalina.startup.HostConfig.deployWARs(HostConfig.java:778) 
    at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:504) 
    at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1317) 
    at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:324) 
    at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:142) 
    at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1065) 
    at org.apache.catalina.core.StandardHost.start(StandardHost.java:840) 
    at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1057) 
    at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:463) 
    at org.apache.catalina.core.StandardService.start(StandardService.java:525) 
    at org.apache.catalina.core.StandardServer.start(StandardServer.java:754) 
    at org.apache.catalina.startup.Catalina.start(Catalina.java:595) 
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) 
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
    at java.lang.reflect.Method.invoke(Method.java:483) 
    at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:289) 
    at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:414) 
2015-01-07 14:53:54.357 WARN : org.springframework.web.context.support.XmlWebApplicationContext - 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 [Wed Jan 07 14:53:45 GMT 2015]; root of context hierarchy 
    at org.springframework.context.support.AbstractApplicationContext.getLifecycleProcessor(AbstractApplicationContext.java:360) 
    at org.springframework.context.support.AbstractApplicationContext.doClose(AbstractApplicationContext.java:1057) 
    at org.springframework.context.support.AbstractApplicationContext.close(AbstractApplicationContext.java:1010) 
    at org.springframework.web.context.ContextLoader.closeWebApplicationContext(ContextLoader.java:558) 
    at org.springframework.web.context.ContextLoaderListener.contextDestroyed(ContextLoaderListener.java:143) 
    at org.apache.catalina.core.StandardContext.listenerStop(StandardContext.java:4245) 
    at org.apache.catalina.core.StandardContext.__stop(StandardContext.java:4886) 
    at org.apache.catalina.core.StandardContext.stop(StandardContext.java) 
    at org.apache.catalina.core.StandardContext.start(StandardContext.java:4750) 
    at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:799) 
    at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:779) 
    at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:601) 
    at org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:943) 
    at org.apache.catalina.startup.HostConfig.deployWARs(HostConfig.java:778) 
    at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:504) 
    at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1317) 
    at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:324) 
    at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:142) 
    at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1065) 
    at org.apache.catalina.core.StandardHost.start(StandardHost.java:840) 
    at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1057) 
    at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:463) 
    at org.apache.catalina.core.StandardService.start(StandardService.java:525) 
    at org.apache.catalina.core.StandardServer.start(StandardServer.java:754) 
    at org.apache.catalina.startup.Catalina.start(Catalina.java:595) 
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) 
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
    at java.lang.reflect.Method.invoke(Method.java:483) 
    at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:289) 
    at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:414) 

编辑: 于是,我就从我的项目作为这样

 <dependency> 
      <groupId>org.springframework</groupId> 
      <artifactId>spring-core</artifactId> 
      <version>${spring.version}</version> 
      <exclusions> 
      <exclusion> 
       <groupId>org.springframework</groupId> 
       <artifactId>spring-asm</artifactId> 
      </exclusion> 
     </exclusions> 
     </dependency> 
     <!-- <dependency> 
      <groupId>org.springframework</groupId> 
      <artifactId>spring-asm</artifactId> 
      <version>${spring.version}</version> 
     </dependency> --> 

删除ASM但我仍然得到

ERROR: org.springframework.web.context.ContextLoader - Context initialization failed java.lang.IllegalArgumentException at org.springframework.asm.ClassReader.<init>(Unknown Source)... 

我现在还使用Tomcat 8

我浏览了所有儿童poms,并添加了排除所有引用的内容自动化。 我不知道为什么这被称为...

有没有人有任何想法?

编辑2: 运行MVN依赖后:这里的树是输出(输出本身是巨大的,所以我不想将它张贴全部)

[INFO] com.gustavo:maven-j2as-plugin:maven-plugin:1.0.0-SNAPSHOT 
[INFO] +- org.apache.maven:maven-plugin-api:jar:3.1.0:compile 
[INFO] | +- org.apache.maven:maven-model:jar:3.1.0:compile 
[INFO] | | \- org.codehaus.plexus:plexus-utils:jar:3.0.10:compile 
[INFO] | +- org.apache.maven:maven-artifact:jar:3.1.0:compile 
[INFO] | \- org.eclipse.sisu:org.eclipse.sisu.plexus:jar:0.0.0.M2a:compile 
[INFO] |  +- javax.enterprise:cdi-api:jar:1.0:compile 
[INFO] |  | +- javax.annotation:jsr250-api:jar:1.0:compile 
[INFO] |  | \- javax.inject:javax.inject:jar:1:compile 
[INFO] |  +- org.sonatype.sisu:sisu-guice:jar:no_aop:3.1.0:compile 
[INFO] |  +- org.eclipse.sisu:org.eclipse.sisu.inject:jar:0.0.0.M2a:compile 
[INFO] |  | \- asm:asm:jar:3.3.1:compile 

[INFO] com.gustavo:maven-j2as-plugin:maven-plugin:1.0.0-SNAPSHOT 
[INFO] +- org.apache.maven:maven-plugin-api:jar:3.1.0:compile 
[INFO] | +- org.apache.maven:maven-model:jar:3.1.0:compile 
[INFO] | | \- org.codehaus.plexus:plexus-utils:jar:3.0.10:compile 
[INFO] | +- org.apache.maven:maven-artifact:jar:3.1.0:compile 
[INFO] | \- org.eclipse.sisu:org.eclipse.sisu.plexus:jar:0.0.0.M2a:compile 
[INFO] |  +- javax.enterprise:cdi-api:jar:1.0:compile 
[INFO] |  | +- javax.annotation:jsr250-api:jar:1.0:compile 
[INFO] |  | \- javax.inject:javax.inject:jar:1:compile 
[INFO] |  +- org.sonatype.sisu:sisu-guice:jar:no_aop:3.1.0:compile 
[INFO] |  +- org.eclipse.sisu:org.eclipse.sisu.inject:jar:0.0.0.M2a:compile 
[INFO] |  | \- asm:asm:jar:3.3.1:compile 

[INFO] +- cglib:cglib:jar:2.2:compile 
[INFO] | \- asm:asm:jar:3.1:compile 

[INFO] +- cglib:cglib:jar:2.2:compile 
[INFO] | \- asm:asm:jar:3.1:compile 

[INFO] +- cglib:cglib:jar:2.2:compile 
[INFO] | \- asm:asm:jar:3.1:compile 

[INFO] +- cglib:cglib:jar:2.2:compile 
[INFO] | \- asm:asm:jar:3.1:compile 

[INFO] | +- cglib:cglib:jar:2.2:compile 
[INFO] | | \- asm:asm:jar:3.1:compile 

[INFO] | +- cglib:cglib:jar:2.2:compile 
[INFO] | | \- asm:asm:jar:3.1:compile 

[INFO] | +- xml-resolver:xml-resolver:jar:1.2:compile 
[INFO] | +- asm:asm:jar:3.3:compile 

[INFO] | +- xml-resolver:xml-resolver:jar:1.2:compile 
[INFO] | +- asm:asm:jar:3.3:compile 

[INFO] +- cglib:cglib:jar:2.2:runtime 
[INFO] | \- asm:asm:jar:3.1:compile 

[INFO] +- cglib:cglib:jar:2.2:runtime 
[INFO] | \- asm:asm:jar:3.1:compile 

我有30的ASM相关零件模块所以我想他们中的12仍然对ASM的依赖:/

+0

你怎么把这个项目放在一起 - maven或其他东西?看起来你可能拥有旧版本的[ASM](http://asm.ow2.org/),这是Spring显然使用的一个字节码操作库。只有漂亮的ASM新版本支持Java 8. – yshavit

+0

@MarkRotteveel如果向下滚动一下,IllegalStateException就会出现。我的猜测是,它是由第一个异常指示的不良类加载引起的。 – yshavit

+0

@yshavit错过了。我也猜测它们是最初IllegalArgumentException的结果。 –

回答

0

我有一个老版本的webflow,它对旧版本的Spring有传递依赖性

1

Tomcat的6不支持Java 8中,您可能希望通过升级你的Tomcat版本9的东西开始: http://tomcat.apache.org/whichversion.html

+0

8似乎是tomcat的最新版本。我实际上在春季更新之前在那里尝试了它,但仍然得到同样的错误,所以认为它是不相关的。会让你知道。谢谢:) –

+1

好的,所以你的问题可能归结为春季相关的依赖升级。看看周围:http://stackoverflow.com/questions/26238505/java-lang-illegalstate-exception-lifecylceprocessor-and-applicationeventmulticas –