一个老项目了,以前运行的好好的,突然出现了这个错误,真是猝不及防~~~
网上查了一下,应该是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的版本。
可见,出现错误并没有标准的解决方案,也不一定就是表面看起来的原因。