2017-04-26 50 views
0

我一直在努力解決這個錯誤約3小時。爲了達到這一點,我不得不重新創建這個項目大約6次。我沿着caveofprogramming.com上的Spring教程繼續學習,無法通過這一步。Maven ClassNotFoundException SpringServletContainerInitializer

以下是錯誤:

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> 

報價-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是部署程序集的圖片專輯,我擁有的依賴關係以及它在依賴關係中找不到的類。

+0

這些教程似乎是嚴重過時。除非你有一個特別需要去使用舊版本的設置,否則使用Spring Boot,你可以在https://start.spring.io上自動生成一個完整的工作項目(嚮導可以在IntelliJ和STS中找到)。 – chrylis

+0

@chrylis我正在嘗試構建一個Hibernate項目,本教程系列將逐步採用使用MySQL構建Web MVC應用程序的方法,最終導致用Hibernate取代所有SQL功能。我想用這些來學習如何達到Hibernate項目的最終目標。 –

+0

是的,但它是一步一步*完全過時的技術*。你可以去Spring Initializr,檢查「Web」和「Data JPA」,你就完成了。你甚至不必編寫JPA/Hibernate查詢;春天會爲你做。 – chrylis

回答

1

一些searvh後,我發現與Spring框架4.1.9.RELEASE這一問題升級到4.0.5.RELEASE問題解決後

+0

我試過這個,它不起作用。 –

+0

然後看到這個[答案](http://stackoverflow.com/questions/11227395/java-lang-classnotfoundexception-org-springframework-web-servlet-dispatcherserv) –

+0

如果你看看張貼在OP中的圖片,它顯示這已經完成,並且不起作用。 –

相關問題