maven 項目配置到tomcat不能正常啟動


最近使用IntelliJ IDEA搭建公司項目,該項目是maven項目,加載jar和編譯的時候沒有任何異常,但是部署到tomcat上之后,就會出現如下異常:

org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/ai]]
 at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:154)
 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.deployDirectory(HostConfig.java:1101)
 at org.apache.catalina.startup.HostConfig$DeployDirectory.run(HostConfig.java:1786)
 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@695cc4e]
 at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:154)
 at org.apache.catalina.core.StandardContext.resourcesStart(StandardContext.java:4845)
 at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:4975)
 at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
 ... 10 more
Caused by: org.apache.catalina.LifecycleException: Failed to initialize component [org.apache.catalina.webresources.JarResourceSet@3b83cbac]
 at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:106)
 at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:139)
 at org.apache.catalina.webresources.StandardRoot.startInternal(StandardRoot.java:699)
 at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
 ... 13 more
Caused by: java.lang.IllegalArgumentException: java.util.zip.ZipException: invalid LOC header (bad signature)
 at org.apache.catalina.webresources.JarResourceSet.initInternal(JarResourceSet.java:96)
 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:716)
 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.JarResourceSet.initInternal(JarResourceSet.java:94)
 ... 17 more

15-Apr-2016 16:56:02.388 SEVERE [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory Error deploying web application directory /home/lee/taskmgr/apache-tomcat-8/webapps/ai
 java.lang.IllegalStateException: ContainerBase.addChild: start: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/ai]]
 at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:729)
 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.deployDirectory(HostConfig.java:1101)
 at org.apache.catalina.startup.HostConfig$DeployDirectory.run(HostConfig.java:1786)
 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)

之后再網上google半天,最靠譜的答案就是jar包沖突的問題,但是使用的maven構建的項目,按理不會說出現此問題.重新構建多次,問題依舊沒有解決.

后來使用新系統重新搭建環境,包括maven和jdk,在新環境下,該問題就不會出現

根據這個現象,將原系統的maven,重新新建一個repo倉庫. 將setting.xml 倉庫目錄指向該目錄,重新maven update該項目的jar.重新編譯后問題解決.

記錄一下,防止問題再次發生!!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM