java.lang.RuntimeException: wrong class format

一个老项目了,以前运行的好好的,突然出现了这个错误,真是猝不及防~~~
java.lang.RuntimeException: wrong class format_第1张图片

java.lang.RuntimeException: wrong class format_第2张图片

网上查了一下,应该是jdk版本的原因,于是下载了一个jdk7(竟然花了5个积分!!!需要的可以私信我~~~)

邮件项目-Properties
java.lang.RuntimeException: wrong class format_第3张图片

然而,换成了jdk7以后又报出了别的错误,
SEVERE: Servlet.service() for servlet [jsp] in context with path [/ifm] threw exception [Unable to compile class for JSP] with root cause
java.lang.IllegalArgumentException: Page directive: invalid value for import

网上说出现这样的错误是因为import的格式写的不对

<%@ page import=" java.util.*;"%>

将导入包引号中末尾的分号去掉,但是我search了一下项目,并没有出现这样的错误,所以我以为是tomcat跟jdk版本不匹配,tomcat改了版本,tomcat编译的jdk也改了版本还是不行,所以我觉得可能项目本身的环境就是jdk1.6。

而且我发现,clean或者刷新项目以后,

项目右键build path以后还是这个
java.lang.RuntimeException: wrong class format_第4张图片
工程中也没有改变
java.lang.RuntimeException: wrong class format_第5张图片

这是因为在pom文件中配置了jdk的默认版本,致使刷新等操作后又会回到原始jdk版本。

<plugin>
                <groupId>org.apache.maven.pluginsgroupId>
                <artifactId>maven-compiler-pluginartifactId>
                <configuration>
                    <source>${java-version}source>
                    <target>${java-version}target>
                    <encoding>UTF-8encoding>
                configuration>
            plugin>

后面配置

<properties>
         ......
    
        <java-version>1.6java-version>
        .......
    properties>

既然项目本来就是1.6,那么问题就不出在这,看下自己的tomcat,用的是8~~~
所以改成6以后就好了。

网上说的将项目jdk换成7感觉也可行,但是结合我自己的情况,并不想改动代码,所以就改变了tomcat的版本。

可见,出现错误并没有标准的解决方案,也不一定就是表面看起来的原因。

你可能感兴趣的:(常见错误总结)