java.lang.NoSuchMethodError: javax.servlet.ServletContext.se



我在tomcat服务器启动时遇到此异常。

在这里,我在我的项目中使用javax.servlet-api-4.0.1.jar,并且我在运行时也包含了它。但是,当我将应用程序部署到tomcat 8.5中时,tomcat会从其/lib文件夹中选择旧的jarservlet-api。我知道这个方法setSessionTimeout包含在servlet 4.0中,但我将如何指示tomcat从我的项目的WEB-INF/lib文件夹中选择jar,而不是tomcat/lib。

我尝试将servlet-api-4.0jar放入tomcat/lib并删除旧的jar,然后项目就可以正常启动了。但这是正确的方式吗?不能tomcat从我项目的lib目录中挑选最新的jar。

请帮忙。

不要自带servletneneneba API jar

您声称您使用的是Tomcat8.5,它实现了servlet规范3.1。带来一个新的罐子不会神奇地使它实现这个新的规范

如果您想要4.0,请使用Tomcat 9。并且不要带来您自己的servletneneneba API。Tomcat附带的版本非常好。根据您的构建方式,您在构建时需要它的某个版本,但您不会将其打包以供运行时使用(例如,Maven称其为"provided",在gradle中我看到"compile"或"compileOnly"(

相关内容

  • 没有找到相关文章

最新更新