Spring3.X jdk8 java.lang.IllegalArgumentException

异常提示:

复制代码
 1 javax.servlet.ServletException: Servlet.init() for servlet springMVC threw exception
 2     org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:504)
 3     org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)
 4     org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:950)
 5     org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:421)
 6     org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1074)
 7     org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:611)
 8     org.apache.tomcat.util.net.AprEndpoint$SocketProcessor.doRun(AprEndpoint.java:2466)
 9     org.apache.tomcat.util.net.AprEndpoint$SocketProcessor.run(AprEndpoint.java:2455)
10     java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
11     java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
12     org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
13     java.lang.Thread.run(Thread.java:745)
14 
15 root cause
16 
17 java.lang.IllegalArgumentException
18     org.springframework.asm.ClassReader.<init>(Unknown Source)
19     org.springframework.asm.ClassReader.<init>(Unknown Source)
20     org.springframework.asm.ClassReader.<init>(Unknown Source)
21     org.springframework.core.type.classreading.SimpleMetadataReader.<init>(SimpleMetadataReader.java:52)
22     org.springframework.core.type.classreading.SimpleMetadataReaderFactory.getMetadataReader(SimpleMetadataReaderFactory.java:80)
23     org.springframework.core.type.classreading.CachingMetadataReaderFactory.getMetadataReader(CachingMetadataReaderFactory.java:102)
24     org.springframework.core.type.classreading.SimpleMetadataReaderFactory.getMetadataReader(SimpleMetadataReaderFactory.java:76)
25     org.springframework.context.annotation.ConfigurationClassParser.getImports(ConfigurationClassParser.java:298)
26     org.springframework.context.annotation.ConfigurationClassParser.getImports(ConfigurationClassParser.java:300)
27     org.springframework.context.annotation.ConfigurationClassParser.getImports(ConfigurationClassParser.java:300)
28     org.springframework.context.annotation.ConfigurationClassParser.doProcessConfigurationClass(ConfigurationClassParser.java:230)
29     org.springframework.context.annotation.ConfigurationClassParser.processConfigurationClass(ConfigurationClassParser.java:153)
30     org.springframework.context.annotation.ConfigurationClassParser.parse(ConfigurationClassParser.java:130)
31     org.springframework.context.annotation.ConfigurationClassPostProcessor.processConfigBeanDefinitions(ConfigurationClassPostProcessor.java:285)
32     org.springframework.context.annotation.ConfigurationClassPostProcessor.postProcessBeanDefinitionRegistry(ConfigurationClassPostProcessor.java:223)
33     org.springframework.context.support.AbstractApplicationContext.invokeBeanFactoryPostProcessors(AbstractApplicationContext.java:630)
34     org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:461)
35     org.springframework.web.servlet.FrameworkServlet.configureAndRefreshWebApplicationContext(FrameworkServlet.java:652)
36     org.springframework.web.servlet.FrameworkServlet.createWebApplicationContext(FrameworkServlet.java:600)
37     org.springframework.web.servlet.FrameworkServlet.createWebApplicationContext(FrameworkServlet.java:666)
38     org.springframework.web.servlet.FrameworkServlet.initWebApplicationContext(FrameworkServlet.java:519)
39     org.springframework.web.servlet.FrameworkServlet.initServletBean(FrameworkServlet.java:460)
40     org.springframework.web.servlet.HttpServletBean.init(HttpServletBean.java:136)
41     javax.servlet.GenericServlet.init(GenericServlet.java:158)
42     org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:504)
43     org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)
44     org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:950)
45     org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:421)
46     org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1074)
47     org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:611)
48     org.apache.tomcat.util.net.AprEndpoint$SocketProcessor.doRun(AprEndpoint.java:2466)
49     org.apache.tomcat.util.net.AprEndpoint$SocketProcessor.run(AprEndpoint.java:2455)
50     java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
51     java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
52     org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
53     java.lang.Thread.run(Thread.java:745)
复制代码

解决办法:

一:把jdk版本换成1.7 or 1.7以下

二:使用spring 4.0 RELEASE及以上版本



引用[1]中提到了一个错误,即"java.lang.IllegalArgumentException: secret key byte array cannot be null or empty." 这个错误表示方法的参数错误,密钥的字节数组不能为空或null。解决这个问题的方法是添加依赖,具体的依赖配置如下: ```xml <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-configuration-processor</artifactId> <optional>true</optional> </dependency> ``` 引用[2]中提到了一个关于JDK版本的问题,即在本地安装了两个JDK版本,一个是1.8,一个是1.7,但修改了环境变量JAVA_HOME为1.7的地址后,在IDEA或Eclipse中更换JDK版本后仍然报错"Error:java: 无效的目标发行版: 8"。这个问题的解决方法可能不是简单地修改环境变量和IDE中的JDK版本,可能需要进一步检查和调整项目的配置。 引用[3]中提到了一段代码,这段代码可以将时间戳转换为指定格式的时间。这段代码可以帮助你验证是否出现了"java.lang.IllegalArgumentException: Empty key"异常。你可以将这段代码运行一下,将时间戳替换为你的时间戳,然后查看输出的时间是否符合你的预期。 综上所述,"java.lang.IllegalArgumentException: Empty key"异常可能是由于密钥的字节数组为空或null导致的。你可以尝试添加依赖来解决这个问题,并检查项目的配置和代码是否正确。另外,你还可以使用引用[3]中提供的代码来验证时间戳转换的功能是否正常。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值