org.apache.tomcat.util.bcel.classfile.ClassFormatException异常原因及解决

Maven项目运行环境:Tomcat7与struts2-core2.5.16及以上版本+JDK1.7+apache-maven-3.6.1

pom.xml配置如下:

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <groupId>com</groupId>
  <artifactId>hellow</artifactId>
  <version>0.0.1-SNAPSHOT</version>
  <packaging>war</packaging>
   
  <dependencies>
   
      <dependency>
        <groupId>org.apache.struts</groupId>
        <artifactId>struts2-core</artifactId>
        <version>2.5.16</version>
    </dependency>
    <dependency>
        <groupId>javax.servlet</groupId>
        <artifactId>javax.servlet-api</artifactId>
        <version>3.1.0</version>
        <scope>provided</scope>
    </dependency>
     
    <dependency>
        <groupId>javax.servlet</groupId>
        <artifactId>jsp-api</artifactId>
        <version>2.0</version>
        <scope>provided</scope>
    </dependency>
     
    <dependency>
        <groupId>org.apache.logging.log4j</groupId>
        <artifactId>log4j-to-slf4j</artifactId>
        <version>2.11.0</version>
    </dependency>
     
  </dependencies>
   
  <build>
      <plugins>
          <plugin>
              <groupId>org.apache.tomcat.maven</groupId>
            <artifactId>tomcat7-maven-plugin</artifactId>
            <version>2.2</version>
            <configuration>
                <port>8080</port>
                <uriEncoding>UTF-8</uriEncoding>
            </configuration>
          </plugin>
           
          <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-compiler-plugin</artifactId>
            <version>3.7.0</version> 
            <configuration>
                <source>1.7</source>
                <target>1.7</target>
            </configuration>
        </plugin>
      </plugins>
  </build>
   
</project>

异常详情
严重: Unable to process Jar entry [module-info.class] from Jar [jar:file:/E:/SSH/repository/org/apache/logging/log4j/log4j-api/2.10.0/log4j-api-2.10.0.jar!/] for annotations
org.apache.tomcat.util.bcel.classfile.ClassFormatException: Invalid byte tag in constant pool: 19

 

解决方法:
1、刚开始网上找了下资料,说是jdk版本不匹配,各种换还是不行。。。
2、跟着又寻找[module-info.class]这个文件的错误,说压缩包打开报错文件,找到module-info.class文件,删除!!!这样确实可以,也不知道会有什么影响,请大神指教。
3、后来自己研究了下,找到了解决方案:
Tomcat7与struts2-core的2.5.16+版本就会出现,于是我就把struts2-core的2.5.16的版本改低,比如struts2-core的2.5.14  就没出现错误了 。
如果一定要用struts2-core-2.5.16或以上版本,就把插件里面的tomcat7注释掉,也能运行。比如:

至于原因嘛,我就不知道了,在这里请教一下?

  • 0
    点赞
  • 1
    评论
  • 4
    收藏
  • 一键三连
    一键三连
  • 扫一扫,分享海报

©️2021 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值