我收到此错误严重:无法从Jar处理Jar条目[module-info.class]

问题描述

当我添加此log4j-api-2.10.0.jar

严重:无法处理Jar中的Jar条目[module-info.class] log4j-api-2.10.0.jar!/]用于注释 org.apache.tomcat.util.bcel.classfile.ClassFormatException:常量池中的无效字节标记:19 ...

我想从log4j迁移到log4j2,为此我添加

  1. log4j-api-2.10.0.jar
  2. log4j-core-2.10.0.jar
  3. log4j-1.2-api.jar
  4. log4j2.properties

我试图降级JAR版本,但编码功能无法正常工作。

但是我收到此错误,无法解决。我尝试了很多方法,但都没有解决

请帮助我解决此问题

解决方法

使用Java平台模块系统时,Java 9+使用

module-info.class。因此,必须使用Java 9编译器进行编译。由于该类将对使用Java 8或更低版本运行的应用程序造成问题,因此将其放置在jar的META-INF / versions / 9 /文件夹中,应用程序应忽略它。

简而言之,您可能需要升级Tomcat版本。有关解决该问题的特定版本,请参见SEVERE: Unable to process Jar entry [module-info.class] in Tomcat 7 && Java 8的答案。