錯誤描述
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