java.lang.RuntimeException: wrong class format

来源:互联网 发布:svn nginx http 访问 编辑:程序博客网 时间:2024/06/07 21:35

一个老项目了,以前运行的好好的,突然出现了这个错误,真是猝不及防~~~
这里写图片描述

这里写图片描述

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

邮件项目-Properties
这里写图片描述

然而,换成了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以后还是这个
这里写图片描述
工程中也没有改变
这里写图片描述

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

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

后面配置

<properties>         ......    <!-- Framework dependency versions -->        <java-version>1.6</java-version>        .......    </properties>

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

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

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

阅读全文
1 0