2013-01-24 142 views
17

當我運行Spring MVC應用程序時,出現此異常,服務器無法啓動。tomcat服務器無法在STS中啓動服務器和應用程序

請幫我解決這個問題。

異常堆棧跟蹤:

Jan 24, 2013 11:33:59 AM org.apache.catalina.startup.ContextConfig processAnnotationsJar 
SEVERE: Unable to process Jar entry [org/springframework/instrument/classloading/oc4j/package-info.class] from Jar [jar:file:/D:/works/.metadata/.plugins/org.eclipse.wst.server.core/tmp0/wtpwebapps/dailyship/WEB-INF/lib/spring-context-3.1.0.RELEASE.jar!/] for annotations 
java.util.zip.ZipException: invalid LOC header (bad signature) 
    at java.util.zip.ZipFile.read(Native Method) 
    at java.util.zip.ZipFile.access$1400(ZipFile.java:56) 
    at java.util.zip.ZipFile$ZipFileInputStream.read(ZipFile.java:677) 
    at java.util.zip.ZipFile$ZipFileInflaterInputStream.fill(ZipFile.java:413) 
    at java.util.zip.InflaterInputStream.read(InflaterInputStream.java:158) 
    at java.io.BufferedInputStream.fill(BufferedInputStream.java:235) 
    at java.io.BufferedInputStream.read(BufferedInputStream.java:254) 
    at java.io.DataInputStream.readInt(DataInputStream.java:387) 
    at org.apache.tomcat.util.bcel.classfile.ClassParser.readID(ClassParser.java:237) 
    at org.apache.tomcat.util.bcel.classfile.ClassParser.parse(ClassParser.java:114) 
    at org.apache.catalina.startup.ContextConfig.processAnnotationsStream(ContextConfig.java:2104) 
    at org.apache.catalina.startup.ContextConfig.processAnnotationsJar(ContextConfig.java:1980) 
    at org.apache.catalina.startup.ContextConfig.processAnnotationsUrl(ContextConfig.java:1946) 
    at org.apache.catalina.startup.ContextConfig.processAnnotations(ContextConfig.java:1931) 
    at org.apache.catalina.startup.ContextConfig.webConfig(ContextConfig.java:1325) 
    at org.apache.catalina.startup.ContextConfig.configureStart(ContextConfig.java:878) 
    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) 
    at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1559) 
    at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1549) 
    at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334) 
    at java.util.concurrent.FutureTask.run(FutureTask.java:166) 
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110) 
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603) 
    at java.lang.Thread.run(Thread.java:722) 

回答

31

的JAR文件可能已損壞壞的互聯網連接的結果。嘗試刪除C:\Users\[username]\.m2\repository文件夾的內容。然後右鍵點擊您的項目,選擇Maven,更新項目,檢查強制更新快照/版本。如果您確定只有一個Jar文件存在問題,那麼您只需要刪除其文件夾。

+1

爲什麼不能異常名稱哪個依賴有問題?爲什麼我們必須清理整個回購一個腐敗的罐子? – Pawan

+0

我不知道是什麼導致的問題(確切地說是什麼文件),但刪除maven文件夾和重新下載依賴/重建它們 - 幫助... – Igor

0

這爲我工作:

上刪除,導致錯誤的本地回購目錄中的所有文件。做maven乾淨,maven安裝並重新部署您的文件在服務器。而已。

3

由於新手有mentioned來清理本地Maven倉庫,你可以通過執行mvn dependency:purge-local-repository來完成,它會從local-repo中刪除jar並重新下載它們。

3
  • 關閉IDE
  • 刪除.jar文件位於 (workspace_folder_location)/.metadata/.plugins/org.eclipse.wst.server.core/tmp0/wtpwebapps/dailyship/WEB-INF/lib/spring-context-3.1.0.RELEASE.jar
  • 打開你的IDE

如果你與Maven的工作:

  • 右鍵單擊該項目
  • Maven ->更新項目->檢查強制更新快照/版本
+0

我認爲你應該重命名'.metadata'文件夾的地方位於 而不是'D:/作品'? – Algerian

1

在Mac OS中。導航至~/.m2/並運行 rm -rf repository/

然後重新導入所有的maven依賴關係。

0

我有同樣的問題,因爲在pom.xml文件中可用的依賴關係,其中一些已損壞。我通過簡單地刪除.m2/repository文件夾內容並按照此步驟解決該問題。

  1. Run as - > Maven clean。

  2. 運行方式 - > Maven的安裝(使用好互聯網服務提供商)

  3. 行家 - >更新項目。

它也會幫助你。

0

上面的答案對我沒有幫助。但在重新啓動PC,其中Spring MVC應用程序正在運行並且問題已消失。對於那些面臨同樣問題的人可能會有所幫助。

相關問題