启动Tomcat7服务器时出现以下错误。
org.springframework.web.SpringServletContainerInitializer cannot be cast to javax.servlet.ServletContainerInitializer
我很想知道这个问题的根本原因。在什么情况下会发生此错误?我使用Tomcat Enterprise Edition(TomEE)
时没有收到错误在我的项目中,ServletContainerInitializer从javeee-api-7.0.jar加载
我已经尝试排除从javeee-api加载的javax.servlet-api,但那不起作用
答案 0 :(得分:0)
添加javeee-api-7.0.jar,它适用于我。
答案 1 :(得分:0)
我们在项目中遇到过这种情况,其中包含很多遗留代码,显然没有很好地维护。
我们通过分析所有pom.xml文件中的所有依赖项来解决它。 特别是对于这个问题,我们做的是排除javax.servlet api,因为加载了一个冲突的版本并导致了转换错误。
如果使用eclipse,则在打开pom.xml文件时,可以使用底部的Dependency Hierarchy选项卡检查依赖项。 在那里,您可以使用过滤器查看所有servlet jar版本以及使用它们的顶级依赖项。然后,您可以通过右键单击并选择"排除Maven工件来排除有问题的工具......" 然后显而易见:保存你的pom.xml,最后重复其他项目/模块,更新你的maven项目配置,最后构建/安装/运行以查看问题是否已修复。
希望有所帮助!