我使用的是Spring4.3和Servlet 3.1。部署失败,错误为: Provider org.springframework.web.SpringServletContainerInitializer not a javax.servlet.ServletContainerInitializer。我知道装入的是某个错误的类
Spring jars和Servlet3.1JAR被配置为一个模块,并在module.xml中提到。
javax.servlet.ServletContainerInitializer只存在于我在module.xml中包含的一个jar jboss-servlet-API3.1SPEC-1.0.0.Final.jar中。
我的应用程序需要SpringServletContainerInitializer。如果您需要我发布更多详细信息,请让我知道。任何帮助都是非常感谢的。
发布于 2017-12-06 22:44:09
我遇到了同样的问题,并通过仔细检查我的依赖项来解决它,看看我的应用程序服务器库是否有任何崩溃。
确保在maven/gradle配置中将java-ee和java-ee-web依赖项设置为"provided“范围。
发布于 2018-04-04 23:23:55
我得到了同样的错误,在研究之后,我发现不知何故SpringServletContainerInitializer没有加载是因为Maven的包装问题。在我的例子中,spring-web-4.3.8.Release.jar没有正确地与应用程序WAR绑定。
这可以通过以下方式修复:
发布于 2020-11-11 00:51:14
servlet-api和其他类似的Java的另一个潜在的额外副本来源是Spring boot的tomcat-embed-core-.jar,您可以从spring-boot-starter-web获得它。
https://stackoverflow.com/questions/40311563
复制相似问题