2015-01-07 18 views
5

Khá mới này nhưng tôi đang cố gắng để nâng cấp lên java 8 từ java 6.IllegalStateExceptions mùa xuân khi nâng cấp lên Java 8

tôi được xây dựng sử dụng java 8. Nó được biên soạn tốt, nhưng có một số lỗi máy chủ khi tôi chạy ứng dụng. Tôi đọc rằng java 8 yêu cầu mùa xuân để được nâng cấp lên phiên bản 4 vì vậy tôi đã theo hướng dẫn this để làm như vậy. Sau một chút đau lòng, mọi thứ đã được biên dịch lại nhưng tôi vẫn gặp lỗi. Tôi biết nó vẫn là một vấn đề versioning nhưng tôi không chắc chắn nơi để bắt đầu với cố gắng tìm ra nơi ...

Tôi đang chạy tomcat 6.0.33, java 8 (hy vọng), mùa xuân 4 (cũng hy vọng) và nó là một dịch vụ web RESTful.

Tôi đã cập nhật tomcat để chạy java 8 và các biến đường dẫn của tôi được cập nhật.

Xô Merci! Đây là dấu vết đầy đủ.

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) 

Edit: Vì vậy, tôi đã cố gắng để loại bỏ asm từ dự án của tôi như vậy

 <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> --> 

Nhưng tôi vẫn nhận được

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

Tôi cũng bây giờ sử dụng tomcat 8

Tôi đã xem qua tất cả các poms dành cho trẻ em và thêm loại trừ vào bất kỳ thứ gì đã được đề cập ncing asm. Tôi không biết tại sao điều này lại được gọi là ...

Có ai có ý tưởng nào không?

Chỉnh sửa 2: Sau khi chạy phụ thuộc mvn: cây ở đây là asm liên quan bộ phận của đầu ra (đầu ra chính nó đã lớn vì vậy tôi không muốn gửi nó tất cả)

[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 

tôi có 30 module vì vậy tôi đoán 12 trong số họ vẫn có một sự phụ thuộc vào asm:/

+0

Làm thế nào bạn đặt dự án này lại với nhau - maven hoặc một thứ khác? Dường như bạn có thể có một phiên bản cũ hơn của [ASM] (http://asm.ow2.org/), một thư viện thao tác bytecode mà Spring sử dụng. Chỉ có các phiên bản mới của ASM hỗ trợ Java 8. – yshavit

+0

@MarkRotteveel Nếu bạn di chuyển xuống một chút, thì IllegalStateException sẽ ở đó. Đoán của tôi là do tải lớp xấu gây ra mà ngoại lệ đầu tiên chỉ ra. – yshavit

+0

@yshavit Bỏ lỡ điều đó. Tôi cũng đoán họ là kết quả của IllegalArgumentException ban đầu. –

Trả lời

0

Tôi đã có một phiên bản cũ hơn của luồng web có sự phụ thuộc quá độ trên phiên bản cũ hơn của Spring

1

Tomcat 6 không hỗ trợ Java 8, bạn có thể muốn bắt đầu bằng cách nâng cấp phiên bản tomcat của bạn tới 9 cái gì đó: http://tomcat.apache.org/whichversion.html

+0

8 có vẻ là phiên bản mới nhất của tomcat. Tôi thực sự đã thử nó trên đó trước khi cập nhật mùa xuân nhưng vẫn nhận được cùng một lỗi vì vậy nghĩ rằng nó không liên quan. Tôi sẽ cho bạn biết. Cảm ơn :) –

+1

Ok, do đó, vấn đề của bạn có thể làm chậm các bản nâng cấp phụ thuộc liên quan đến mùa xuân. Hãy xem xung quanh: http://stackoverflow.com/questions/26238505/java-lang-illegalstate-exception-lifecylceprocessor-and-applicationeventmulticas –

Các vấn đề liên quan