【问题标题】:Maven ClassNotFoundException SpringServletContainerInitializerMaven ClassNotFoundException SpringServletContainerInitializer
【发布时间】:2017-09-23 05:48:31
【问题描述】:

我已经努力解决这个错误大约 3 个小时。为了达到这一点,我不得不重新创建这个项目大约 6 次。我正在按照 Caveofprogramming.com 上的 Spring 教程进行操作,并且无法通过此步骤。

这里是错误:

SEVERE: Failed to detect ServletContainerInitializers for context with name [/springagain] java.io.IOException: java.lang.ClassNotFoundException: org.springframework.web.SpringServletContainerInitializer
at org.apache.catalina.startup.WebappServiceLoader.loadServices(WebappServiceLoader.java:200)
at org.apache.catalina.startup.WebappServiceLoader.load(WebappServiceLoader.java:158)
at org.apache.catalina.startup.ContextConfig.processServletContainerInitializers(ContextConfig.java:1579)
at org.apache.catalina.startup.ContextConfig.webConfig(ContextConfig.java:1280)
at org.apache.catalina.startup.ContextConfig.configureStart(ContextConfig.java:888)
at org.apache.catalina.startup.ContextConfig.lifecycleEvent(ContextConfig.java:388)
at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:117)
at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:90)
at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5522)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:145)
at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1571)
at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1561)
at java.util.concurrent.FutureTask.run(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source) Caused by: java.lang.ClassNotFoundException: org.springframework.web.SpringServletContainerInitializer
at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1892)
at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1735)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Unknown Source)
at org.apache.catalina.startup.WebappServiceLoader.loadServices(WebappServiceLoader.java:197)
... 15 more

web.xml 抱歉格式化,网站不希望我正确格式化:

<?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5">
 <display-name>springagain</display-name> <welcome-file-list>
<welcome-file>index.html</welcome-file>
<welcome-file>index.htm</welcome-file>
<welcome-file>index.jsp</welcome-file>
<welcome-file>default.html</welcome-file>
<welcome-file>default.htm</welcome-file>
<welcome-file>default.jsp</welcome-file>


</welcome-file-list> <servlet>
<description></description>
<display-name>offers</display-name>
<servlet-name>offers</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping>
<servlet-name>offers</servlet-name>
<url-pattern>/</url-pattern> </servlet-mapping> </web-app>

offers-servlet.xml:

<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd"> </beans>

我尝试过的任何方法都无法让我接近工作。 Here 是部署程序集的图片专辑,我拥有的依赖项以及它说在依赖项中找不到的类。

【问题讨论】:

  • 那些教程似乎已经严重过时了。除非您对使用旧版设置有特别迫切的需求,否则请使用 Spring Boot,您可以在 start.spring.io 自动生成一个完整的工作项目(IntelliJ 和 STS 中提供了向导)。
  • @chrylis 我正在尝试构建一个 Hibernate 项目,本教程系列采用一步一步的方法来使用 MySQL 构建 Web MVC 应用程序,然后最终导致用 Hibernate 替换所有 SQL 功能。我想用这些来学习如何达到 Hibernate 项目的最终目标。
  • 是的,但它是逐步采用完全过时的技术。你可以去 Spring Initializr,检查“Web”和“Data JPA”,你就完成了。您甚至不必编写 JPA/Hibernate 查询;春天会为你做的。
  • 这似乎是半有用的,但是它不提供链接到本地​​服务器所需的信息或有关查询的任何信息。我没有意识到这些教程已经过时了,强烈推荐在 Reddit 上专门用于学习的 subs 中。在 tomcat/web 应用程序出现之前一切正常。

标签: java spring maven


【解决方案1】:

经过一番搜索后,我发现该问题与 spring 框架 4.1.9.RELEASE 更新到 4.0.5.RELEASE 后问题已解决

【讨论】:

  • 然后看这个answer
  • 如果您查看OP中发布的图片,它表明这已经完成并且不起作用。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-03-01
  • 2012-04-20
  • 1970-01-01
  • 2014-04-11
  • 2012-04-15
  • 2017-05-11
相关资源
最近更新 更多