19

当我运行 Spring MVC 应用程序时,出现此异常并且服务器无法启动。

请帮我解决这个问题。

异常堆栈跟踪:

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)
4

7 回答 7

32

jar 文件可能由于 Internet 连接不良而损坏。尝试删除C:\Users\[username]\.m2\repository文件夹的内容。然后右键单击您的项目,选择MavenUpdate Project,选中Force Update of Snapshots/Releases。如果您确定只有一个 Jar 文件有问题,那么您只需删除其文件夹即可。

于 2013-01-24T06:55:13.310 回答
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->更新项目->检查强制更新快照/发布
于 2016-08-07T08:26:38.090 回答
3

正如新手提到的清理本地 maven 存储库,您可以通过执行来完成mvn dependency:purge-local-repository,这将从 local-repo 中删除 jar 并重新下载它们。

于 2016-07-26T13:33:33.643 回答
1

在 Mac 操作系统中。导航到~/.m2/并运行 rm -rf repository/

然后重新导入所有 Maven 依赖项。

于 2016-09-19T04:25:01.573 回答
1

由于 pom.xml 文件中可用的依赖项,我遇到了同样的问题,其中一些已损坏。我通过简单地删除 .m2/repository 文件夹内容并按照以下步骤解决该问题。

  1. 运行为-> Maven clean。

  2. 运行为 -> Maven 安装。(使用好的互联网提供商)

  3. maven -> 更新项目。

它也会帮助你。

于 2017-10-10T08:44:26.997 回答
0

这对我有用:

删除本地 repo 目录中导致错误的所有文件。做 maven clean, maven install 和 re-deploy your files in server. 而已。

于 2015-07-01T10:21:11.723 回答
0

上面的答案对我没有帮助。但是在重新启动运行 Spring MVC 应用程序的PC后,问题就消失了。对于那些将面临同样问题的人来说,它可能会有所帮助。

于 2017-10-23T11:18:21.050 回答