我的Web应用程序在JDK 1.7上运行良好,但在1.8上崩溃,出现以下异常(在使用Jetty 8启动应用服务器期间)。3.2.5.RELEASE.
第一个月我假设这个问题是因为Spring和它所依赖的"asm.jar"库而发生的。我该如何解决这个问题?
lrl1mhuk1#
正如@prunge和@巴勃罗Lozano所说,如果您想将代码编译到Java8(目标1.8),那么您需要Spring 4,但是如果您运行的是Spring3.2.X,那么您仍然可以运行编译到Java7的Java8应用程序。checkout http://docs.spring.io/spring/docs/current/spring-framework-reference/html/new-in-4.0.html请注意,Java 8字节码级别(-target 1.8,-source 1.8所需)仅在Spring Framework 4.0中得到完全支持。特别是,基于Spring 3.2的应用程序需要使用最高Java 7作为目标进行编译,即使它们碰巧部署到Java 8运行时上。请升级到Spring 4以获得基于Java 8的应用程序。
tkclm6bt2#
如果您在使用-target 1.7编译时遇到此错误,请注意,这是因为Spring Framework中的一个bug导致ASM classreader加载jdk类(java.* 或javax.*),当然,这些类是使用-target 1.8编译的。再加上spring 3.2.8及更低版本中的旧ASM版本不支持解析1.8类文件,也会导致此错误。有关此问题的详细信息,请访问:https://jira.spring.io/browse/SPR-11719这个问题应该在Spring Framework 3.2.9版本中得到解决,该版本将很快发布。当然,升级到Spring Framework 4也可以解决这个问题,因为它已经包含了更新版本的ASM。然而,如果由于某种原因你还不能升级到版本4,最好知道有一个替代方案(很快)。
voj3qocg3#
我也遇到过同样的问题,并解决了它。我正在使用spring 3.x和java 8。如果上述解决方案不起作用,请更改jar并搜索这些jar是否与您正在使用的java版本兼容。spring 3.x与java 8不兼容。
vxf3dgd44#
我也有同样的问题,1.访问:Maven-〉执行Maven目标-〉mvn清洁它有帮助:)2.缓存无效..
tyg4sfes5#
如果您使用java 8或下一版本,则需要升级spring版本,spring版本应为4.xxx
ruoxqz4g6#
Spring 4可以用于Java 8来解决这个问题,我刚刚测试了一下,它工作正常,这个问题从Spring 3. 2. 9-RELEASE版本开始就得到了修复。
6条答案
按热度按时间lrl1mhuk1#
正如@prunge和@巴勃罗Lozano所说,如果您想将代码编译到Java8(目标1.8),那么您需要Spring 4,但是如果您运行的是Spring3.2.X,那么您仍然可以运行编译到Java7的Java8应用程序。
checkout http://docs.spring.io/spring/docs/current/spring-framework-reference/html/new-in-4.0.html
请注意,Java 8字节码级别(-target 1.8,-source 1.8所需)仅在Spring Framework 4.0中得到完全支持。特别是,基于Spring 3.2的应用程序需要使用最高Java 7作为目标进行编译,即使它们碰巧部署到Java 8运行时上。请升级到Spring 4以获得基于Java 8的应用程序。
tkclm6bt2#
如果您在使用-target 1.7编译时遇到此错误,请注意,这是因为Spring Framework中的一个bug导致ASM classreader加载jdk类(java.* 或javax.*),当然,这些类是使用-target 1.8编译的。
再加上spring 3.2.8及更低版本中的旧ASM版本不支持解析1.8类文件,也会导致此错误。
有关此问题的详细信息,请访问:https://jira.spring.io/browse/SPR-11719
这个问题应该在Spring Framework 3.2.9版本中得到解决,该版本将很快发布。
当然,升级到Spring Framework 4也可以解决这个问题,因为它已经包含了更新版本的ASM。
然而,如果由于某种原因你还不能升级到版本4,最好知道有一个替代方案(很快)。
voj3qocg3#
我也遇到过同样的问题,并解决了它。我正在使用spring 3.x和java 8。如果上述解决方案不起作用,请更改jar并搜索这些jar是否与您正在使用的java版本兼容。spring 3.x与java 8不兼容。
vxf3dgd44#
我也有同样的问题,
1.访问:
Maven-〉执行Maven目标-〉mvn清洁
它有帮助:)
2.缓存无效..
tyg4sfes5#
如果您使用java 8或下一版本,则需要升级spring版本,spring版本应为4.xxx
ruoxqz4g6#
Spring 4可以用于Java 8来解决这个问题,我刚刚测试了一下,它工作正常,这个问题从Spring 3. 2. 9-RELEASE版本开始就得到了修复。