java.lang的Spring上下文初始化失败。在部署到Apache 7.0.54和java 8时出现IllegalArgumentException

时间:2022-11-20 20:51:48

Environment: Applciation server: Apache 7.0.54 Java: "1.8.0_05" OS: Mac OS X 10.9.3

环境:苹果机服务器:Apache 7.0.54 Java:“1.8.0_05”OS: Mac OS X 10.9.3

Libraries: Spring 3.2 REST application

库:Spring 3.2 REST应用程序

Following is the error I received during deployment:

以下是我在部署期间收到的错误:

localhost.2014.06.09.log

Jun 09, 2014 3:37:47 PM org.apache.catalina.core.ApplicationContext log
INFO: No Spring WebApplicationInitializer types detected on classpath
Jun 09, 2014 3:37:47 PM org.apache.catalina.core.ApplicationContext log
INFO: Initializing Spring root WebApplicationContext
Jun 09, 2014 3:37:47 PM org.apache.catalina.core.StandardContext listenerStart
SEVERE: Exception sending context initialized event to listener instance of class org.springframework.web.context.ContextLoaderListener

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:101)
    at org.springframework.core.type.classreading.SimpleMetadataReaderFactory.getMetadataReader(SimpleMetadataReaderFactory.java:76)
    at org.springframework.context.annotation.ConfigurationClassParser.getImports(ConfigurationClassParser.java:298)
    at org.springframework.context.annotation.ConfigurationClassParser.getImports(ConfigurationClassParser.java:300)
    at org.springframework.context.annotation.ConfigurationClassParser.getImports(ConfigurationClassParser.java:300)
    at org.springframework.context.annotation.ConfigurationClassParser.doProcessConfigurationClass(ConfigurationClassParser.java:230)
    at org.springframework.context.annotation.ConfigurationClassParser.processConfigurationClass(ConfigurationClassParser.java:153)
    at org.springframework.context.annotation.ConfigurationClassParser.parse(ConfigurationClassParser.java:130)
    at org.springframework.context.annotation.ConfigurationClassPostProcessor.processConfigBeanDefinitions(ConfigurationClassPostProcessor.java:285)
    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.web.context.ContextLoader.configureAndRefreshWebApplicationContext(ContextLoader.java:383)
    at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:283)
    at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:112)
    at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4973)
    at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5467)
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
    at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:901)
    at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:877)
    at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:632)
    at org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:1083)
    at org.apache.catalina.startup.HostConfig$DeployWar.run(HostConfig.java:1880)
    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)

4 个解决方案

#1


66  

You need to upgrade to spring 4 release to support java 1.8 byte code format

您需要升级到spring 4版本以支持java 1.8字节码格式。

#2


16  

If you can't go Spring 4 just upgrade to 3.2.16 will solved the problem.

如果你不能升级到Spring 4,升级到3.2.16就能解决问题。

Thanks to Tom Saleeba

多亏了汤姆Saleeba

#3


0  

Upgrading to spring 3.2.16 resolved the problem. Looks like older version of spring does not like java 1.8.xxx

升级到spring 3.2.16解决了这个问题。看起来旧版本的spring不像java 1.8.xxx

#4


0  

In my case my application runs with java8 and jetty, uses spring 3.1.4 and can't not be upgraded.

在我的例子中,我的应用程序使用java8和jetty运行,使用spring 3.1.4,不能升级。

The problem appeared after the use of a lambda function inside a bean definition. Removing it solved my problem.

在bean定义中使用lambda函数之后出现了问题。移除它解决了我的问题。

#1


66  

You need to upgrade to spring 4 release to support java 1.8 byte code format

您需要升级到spring 4版本以支持java 1.8字节码格式。

#2


16  

If you can't go Spring 4 just upgrade to 3.2.16 will solved the problem.

如果你不能升级到Spring 4,升级到3.2.16就能解决问题。

Thanks to Tom Saleeba

多亏了汤姆Saleeba

#3


0  

Upgrading to spring 3.2.16 resolved the problem. Looks like older version of spring does not like java 1.8.xxx

升级到spring 3.2.16解决了这个问题。看起来旧版本的spring不像java 1.8.xxx

#4


0  

In my case my application runs with java8 and jetty, uses spring 3.1.4 and can't not be upgraded.

在我的例子中,我的应用程序使用java8和jetty运行,使用spring 3.1.4,不能升级。

The problem appeared after the use of a lambda function inside a bean definition. Removing it solved my problem.

在bean定义中使用lambda函数之后出现了问题。移除它解决了我的问题。