在使用Jackson 2.x版本时,会抛出类似如下异常:

严重: Unable to process Jar entry [module-info.class] from Jar [jar:file:/F:/tomcat/InstallationFiles/apache-tomcat-9.0.17/webapps/ROOT/WEB-INF/lib/lombok-1.18.8.jar!/] for annotations

此时对应的JDK版本为Java 8,Tomcat 8.5。

导致该异常的主要原因是jar包中包含了module-info.class文件,该文件主要用于Java 9。通过模块信息,Java 平台模块系统的一个模块声明了它所依赖的其他模块,以及它想要公开给其他模块的包。

module-info.class 是用 Java 9 编译的,在使用 Java 8 运行应用程序时会发生 ClassFormatException。

针对该异常我们能做些什么?

  • 忽略就它就好,该异常并无什么影响;
  • 禁用JarScanner,可在tomcat的catalina.properties中的jarsToSkip配置项,将对应的jar包配置上;
  • 采用Java 9来运行tomcat;
  • 将jar包中的module-info.class删除掉;



jackson Unable to process Jar entry [module-info.class] from Jar插图

关注公众号:程序新视界,一个让你软实力、硬技术同步提升的平台

除非注明,否则均为程序新视界原创文章,转载必须以链接形式标明本文链接

本文链接:https://www.choupangxia.com/2021/12/29/jackson-module-info-class/