tomcat7 启动java.lang.NoSuchMethodError: javax.servlet.ServletContext.getSessionCo

今天第一次使用tomcat7,启动时报错如下:

 

java.lang.NoSuchMethodError: javax.servlet.ServletContext.getSessionCookieConfig()Ljavax/servlet/SessionCookieConfig

 

网上搜了一下,问题出在servlet-api.jar上

解决方法:

1)把 $TOMCAT_7/lib/servlet-api.jar 拷贝到$JAVA_HOME/jre/lib/ext目录下去,比如我的是拷贝到E:\soft\Java\jdk1.6.0_29\jre\lib\ext下;

2)删除$JAVA_HOME/jre/lib/ext目录下的servlet-api.jar

 

重新启动,ok!

 

原因:tomcat7在运行的时候,如果$JAVA_HOME/jre/lib/ext目录下已经存在servlet-api.jar,则tomcat使用的不是自己lib下面的那个servlet-api,而是首选使用java目录下的(jdk1.6.0_10\jre\lib\ext);如果java目录下的api版本太低就会出现上述问题,此时只要把java目录下的servlet-api.jar替换成tomcat7自带的或直接删掉即可。

 

参考:http://blog.sina.com.cn/s/blog_63a74b750100qza3.html

 

 

你可能感兴趣的:(servletContext)