2013-01-14 50 views
1

我剛剛使用Spring Template for MVC創建的全新項目。我嘗試在服務器上運行並獲得以下內容。Java Spring MVC模板項目問題

任何想法?

SEVERE: ContainerBase.addChild: start: 
org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/src]] 
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:154) 
    at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:901) 
    at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:877) 
    at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:618) 
    at org.apache.catalina.startup.HostConfig.deployDescriptor(HostConfig.java:650) 
    at org.apache.catalina.startup.HostConfig$DeployDescriptor.run(HostConfig.java:1582) 
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:439) 
    at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303) 
    at java.util.concurrent.FutureTask.run(FutureTask.java:138) 
    at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) 
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) 
    at java.lang.Thread.run(Thread.java:680) 
Caused by: java.lang.NoClassDefFoundError: org/springframework/context/ApplicationContextException 
    at java.lang.Class.getDeclaredFields0(Native Method) 
    at java.lang.Class.privateGetDeclaredFields(Class.java:2291) 
    at java.lang.Class.getDeclaredFields(Class.java:1743) 
    at org.apache.catalina.util.Introspection.getDeclaredFields(Introspection.java:87) 
    at org.apache.catalina.startup.WebAnnotationSet.loadFieldsAnnotation(WebAnnotationSet.java:261) 
    at org.apache.catalina.startup.WebAnnotationSet.loadApplicationListenerAnnotations(WebAnnotationSet.java:90) 
    at org.apache.catalina.startup.WebAnnotationSet.loadApplicationAnnotations(WebAnnotationSet.java:65) 
    at org.apache.catalina.startup.ContextConfig.applicationAnnotationsConfig(ContextConfig.java:405) 
    at org.apache.catalina.startup.ContextConfig.configureStart(ContextConfig.java:881) 
    at org.apache.catalina.startup.ContextConfig.lifecycleEvent(ContextConfig.java:369) 
    at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:119) 
    at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:90) 
    at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5173) 
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150) 
    ... 11 more 
Caused by: java.lang.ClassNotFoundException: org.springframework.context.ApplicationContextException 
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1714) 
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1559) 
    ... 25 more 
Jan 15, 2013 10:27:41 AM org.apache.catalina.startup.HostConfig deployDescriptor 
SEVERE: Error deploying configuration descriptor /Users/maratlevit/springsource/vfabric-tc-server-developer-2.7.2.RELEASE/base-instance/conf/Catalina/localhost/src.xml 
java.lang.IllegalStateException: ContainerBase.addChild: start: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/src]] 
    at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:904) 
    at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:877) 
    at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:618) 
    at org.apache.catalina.startup.HostConfig.deployDescriptor(HostConfig.java:650) 
    at org.apache.catalina.startup.HostConfig$DeployDescriptor.run(HostConfig.java:1582) 
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:439) 
    at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303) 
    at java.util.concurrent.FutureTask.run(FutureTask.java:138) 
    at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) 
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) 
    at java.lang.Thread.run(Thread.java:680) 

編輯:望着標記標籤我看到以下內容:

Description Resource Path Location Type 
Archive for required library: '/Users/maratlevit/.m2/repository/org/springframework/spring-aop/3.1.1.RELEASE/spring-aop-3.1.1.RELEASE.jar' in project 'FirstLesson' cannot be read or is not a valid ZIP file FirstLesson  Build path Build Path Problem 

EDIT 2:按要求依賴新增名單:

/Users/maratlevit/.m2/repository/org/springframework/spring-context/3.1.1.RELEASE/spring-context-3.1.1.RELEASE.jar 
/Users/maratlevit/.m2/repository/org/springframework/spring-aop/3.1.1.RELEASE/spring-aop-3.1.1.RELEASE.jar 
/Users/maratlevit/.m2/repository/aopalliance/aopalliance/1.0/aopalliance-1.0.jar 
/Users/maratlevit/.m2/repository/org/springframework/spring-beans/3.1.1.RELEASE/spring-beans-3.1.1.RELEASE.jar 
/Users/maratlevit/.m2/repository/org/springframework/spring-core/3.1.1.RELEASE/spring-core-3.1.1.RELEASE.jar 
/Users/maratlevit/.m2/repository/org/springframework/spring-expression/3.1.1.RELEASE/spring-expression-3.1.1.RELEASE.jar 
/Users/maratlevit/.m2/repository/org/springframework/spring-asm/3.1.1.RELEASE/spring-asm-3.1.1.RELEASE.jar 
/Users/maratlevit/.m2/repository/org/springframework/spring-webmvc/3.1.1.RELEASE/spring-webmvc-3.1.1.RELEASE.jar 
/Users/maratlevit/.m2/repository/org/springframework/spring-context-support/3.1.1.RELEASE/spring-context-support-3.1.1.RELEASE.jar 
/Users/maratlevit/.m2/repository/org/springframework/spring-web/3.1.1.RELEASE/spring-web-3.1.1.RELEASE.jar 
/Users/maratlevit/.m2/repository/org/aspectj/aspectjrt/1.6.10/aspectjrt-1.6.10.jar 
/Users/maratlevit/.m2/repository/org/slf4j/slf4j-api/1.6.6/slf4j-api-1.6.6.jar 
/Users/maratlevit/.m2/repository/org/slf4j/jcl-over-slf4j/1.6.6/jcl-over-slf4j-1.6.6.jar 
/Users/maratlevit/.m2/repository/org/slf4j/slf4j-log4j12/1.6.6/slf4j-log4j12-1.6.6.jar 
/Users/maratlevit/.m2/repository/log4j/log4j/1.2.15/log4j-1.2.15.jar 
/Users/maratlevit/.m2/repository/javax/inject/javax.inject/1/javax.inject-1.jar 
/Users/maratlevit/.m2/repository/javax/servlet/servlet-api/2.5/servlet-api-2.5.jar 
/Users/maratlevit/.m2/repository/javax/servlet/jsp/jsp-api/2.1/jsp-api-2.1.jar 
/Users/maratlevit/.m2/repository/javax/servlet/jstl/1.2/jstl-1.2.jar 
/Users/maratlevit/.m2/repository/junit/junit/4.7/junit-4.7.jar 
+0

你能提供一個你的依賴列表嗎?另外,你是否在eclipse中部署它? – ninnemannk

+0

你的依賴對我來說很好看。請參閱我剛剛提供的答案,看看它是否有效。 – ninnemannk

回答

2

我會檢查的第一件事是:

項目 - >右鍵 - >屬性 - > Java構建路徑 - >庫 - >確保 「Maven依賴」 是在該列表中。

二測:

項目 - >右鍵 - >屬性 - >部署大會 - >確保「Maven依賴」是在該列表作爲源。然後,確保與其對應的部署路徑正確。我通常讓我的部署路徑{project}/src/main/webapp/WEB-INF/lib

希望它有幫助。

+0

這很正常。看看我看到的錯誤日誌:'無效的ZIP存檔:/Users/maratlevit/.m2/repository/org/springframework/spring-aop/3.1.1.RELEASE/spring-aop-3.1.1.RELEASE.jar ' – mlevit

+0

你會介意發佈你的POM嗎? – ninnemannk

+0

POM:http://pastebin.com/ZKNQF6zs – mlevit

0

需要更具體信息:這是一個maven項目嗎?所有的罐子都加入了這個項目嗎?

這可能導致 ClassNotFound例外

因素:

  1. 罐不被添加到目錄WEB-INF/lib

  2. DispatcherServlet的引用不在web.xml正確配置

燦你上傳web.xml,spring xml,項目結構並驗證上面的信息?

+0

這是一個maven項目。這是一個全新的項目......自創建以來,我沒有對它做過任何修改。如果它是一個全新的項目,爲什麼不添加罐​​子? – mlevit

0

最有可能你的班級路徑設置正確,這就是爲什麼你得到ClassNotFoundException

檢查它是否正確,並且你所有的罐子都在正確的位置。