【问题标题】:java.lang.IllegalArgumentException at org.springframework.asm.ClassReader.<init>(Unknown Source)java.lang.IllegalArgumentException at org.springframework.asm.ClassReader.<init>(未知来源)
【发布时间】:2015-06-26 04:32:14
【问题描述】:

我在 Apache Tomcat/7.0.62 上的 Spring 应用程序抛出以下异常:

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.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.servlet.FrameworkServlet.configureAndRefreshWebApplicationContext(FrameworkServlet.java:652)
    at org.springframework.web.servlet.FrameworkServlet.createWebApplicationContext(FrameworkServlet.java:600)
    at org.springframework.web.servlet.FrameworkServlet.createWebApplicationContext(FrameworkServlet.java:666)
    at org.springframework.web.servlet.FrameworkServlet.initWebApplicationContext(FrameworkServlet.java:519)
    at org.springframework.web.servlet.FrameworkServlet.initServletBean(FrameworkServlet.java:460)
    at org.springframework.web.servlet.HttpServletBean.init(HttpServletBean.java:136)
    at javax.servlet.GenericServlet.init(GenericServlet.java:158)
    at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:505)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)
    at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:957)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:423)
    at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1079)
    at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:620)
    at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:318)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
    at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
    at java.lang.Thread.run(Unknown Source) 

这是怎么引起的,我该如何解决?

【问题讨论】:

    标签: spring spring-mvc illegalargumentexception java-bytecode-asm


    【解决方案1】:

    尝试升级到Spring4支持Java8字节码格式。

    你的根本原因在这里:

    java.lang.IllegalArgumentException org.springframework.asm.ClassReader.(Unknown Source) 
    org.springframework.asm.ClassReader.(Unknown Source)
    org.springframework.asm.ClassReader.(Unknown Source) 
    

    【讨论】:

      【解决方案2】:

      我遇到了同样的问题,然后我将我的 maven 项目升级到 spring-webmvc 4.2.5.RELEASE 并且它对我有用,我使用的是 Java 8。

      【讨论】:

        【解决方案3】:

        我最近遇到了同样的错误。将springwebmvc的依赖版本改为4.2.5.RELEASE解决了问题。当您使用 JAVA 8 而不是早于 4.2.5 的依赖版本时会出现问题

        【讨论】:

          【解决方案4】:

          我尝试了其他提到的,将 spring-webmvc 更新到版本 4,它没有解决我的问题,我必须将 spring-core 更新到版本 4。

          【讨论】:

            【解决方案5】:

            您还可以尝试删除使用 Java 8 功能(如 Lambda)的代码

            【讨论】:

              猜你喜欢
              • 1970-01-01
              • 1970-01-01
              • 2018-10-02
              • 2020-07-15
              • 1970-01-01
              • 2016-07-30
              • 1970-01-01
              相关资源
              最近更新 更多