错误描述
Maven + springMVC的javaweb项目部署到Tomcat中出现错误如下:
- 严重: ContainerBase.addChild: start:
- org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/test]]
- at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:162)
- at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:725)
- at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:701)
- at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:717)
- at org.apache.catalina.startup.HostConfig.deployDescriptor(HostConfig.java:587)
- at org.apache.catalina.startup.HostConfig$DeployDescriptor.run(HostConfig.java:1798)
- at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
- at java.util.concurrent.FutureTask.run(FutureTask.java:266)
- at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
- at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
- at java.lang.Thread.run(Thread.java:745)
- Caused by: org.apache.catalina.LifecycleException: Failed to start component [org.apache.catalina.webresources.StandardRoot@2fa56038]
- at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:162)
- at org.apache.catalina.core.StandardContext.resourcesStart(StandardContext.java:4969)
- at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5099)
- at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:145)
- ... 10 more
- Caused by: org.apache.catalina.LifecycleException: Failed to initialize component [org.apache.catalina.webresources.JarResourceSet@560533bd]
- at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:107)
- at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:135)
- at org.apache.catalina.webresources.StandardRoot.startInternal(StandardRoot.java:706)
- at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:145)
- ... 13 more
- Caused by: java.lang.IllegalArgumentException: java.util.zip.ZipException: invalid LOC header (bad signature)
- at org.apache.catalina.webresources.AbstractSingleArchiveResourceSet.initInternal(AbstractSingleArchiveResourceSet.java:113)
- at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:102)
- ... 16 more
- Caused by: 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:60)
- at java.util.zip.ZipFile$ZipFileInputStream.read(ZipFile.java:717)
- at java.util.zip.ZipFile$ZipFileInflaterInputStream.fill(ZipFile.java:419)
- at java.util.zip.InflaterInputStream.read(InflaterInputStream.java:158)
- at sun.misc.IOUtils.readFully(IOUtils.java:65)
- at java.util.jar.JarFile.getBytes(JarFile.java:425)
- at java.util.jar.JarFile.getManifestFromReference(JarFile.java:193)
- at java.util.jar.JarFile.getManifest(JarFile.java:180)
- at org.apache.catalina.webresources.AbstractSingleArchiveResourceSet.initInternal(AbstractSingleArchiveResourceSet.java:111)
- ... 17 more
Root Cause
工程依赖包由Maven管理下载,默认maven的远程repository server下载有时中断,导致Maven下载的jar包存在问题。
Solution
1. 从新配置maven的settings.xml,增加国内mirror
- <mirrors>
- <mirror>
- <id>alimaven</id>
- <name>aliyun maven</name>
- <url>http://maven.aliyun.com/nexus/content/groups/public/</url>
- <mirrorOf>central</mirrorOf>
- </mirror>
- lt;/mirrors>
2. 清空本地maven的repository,从新下载依赖jar。
3. 重启IDE自动触发project build。
问题完美解决。
转发请注明:http://my.csdn.net/zhulangfly