解決:elcipse啟動tomcat時 子容器啟動失敗問題


解決:

七月 04, 2020 7:49:12 下午 org.apache.catalina.startup.VersionLoggerListener log
信息: Server.服務器版本:     Apache Tomcat/7.0.100
七月 04, 2020 7:49:12 下午 org.apache.catalina.startup.VersionLoggerListener log
信息: 服務器構建:            Feb 11 2020 08:31:12 UTC
七月 04, 2020 7:49:12 下午 org.apache.catalina.startup.VersionLoggerListener log
信息: 服務器版本號(:7.0.100.0
七月 04, 2020 7:49:12 下午 org.apache.catalina.startup.VersionLoggerListener log
信息: OS Name:               Windows 10
七月 04, 2020 7:49:12 下午 org.apache.catalina.startup.VersionLoggerListener log
信息: OS.版本:               10.0
七月 04, 2020 7:49:12 下午 org.apache.catalina.startup.VersionLoggerListener log
信息: 架構:                  amd64
七月 04, 2020 7:49:12 下午 org.apache.catalina.startup.VersionLoggerListener log
信息: Java 環境變量:         D:\Study\JAVAEE\java\jre1.8
七月 04, 2020 7:49:12 下午 org.apache.catalina.startup.VersionLoggerListener log
信息: JVM 版本:              1.8.0_191-b12
七月 04, 2020 7:49:12 下午 org.apache.catalina.startup.VersionLoggerListener log
信息: JVM.供應商:            Oracle Corporation
七月 04, 2020 7:49:12 下午 org.apache.catalina.startup.VersionLoggerListener log
信息: CATALINA_BASE:         D:\Study\JAVAEE\Tomcat\apache-tomcat-7.0.100
七月 04, 2020 7:49:12 下午 org.apache.catalina.startup.VersionLoggerListener log
信息: CATALINA_HOME:         D:\Study\JAVAEE\Tomcat\apache-tomcat-7.0.100
七月 04, 2020 7:49:12 下午 org.apache.catalina.startup.VersionLoggerListener log
信息: Command line argument: -Dcatalina.base=D:\Study\JAVAEE\Tomcat\apache-tomcat-7.0.100
七月 04, 2020 7:49:12 下午 org.apache.catalina.startup.VersionLoggerListener log
信息: Command line argument: -Dcatalina.home=D:\Study\JAVAEE\Tomcat\apache-tomcat-7.0.100
七月 04, 2020 7:49:12 下午 org.apache.catalina.startup.VersionLoggerListener log
信息: Command line argument: -Dwtp.deploy=D:\Study\JAVAEE\Tomcat\apache-tomcat-7.0.100\wtpwebapps
七月 04, 2020 7:49:12 下午 org.apache.catalina.startup.VersionLoggerListener log
信息: Command line argument: -Djava.endorsed.dirs=D:\Study\JAVAEE\Tomcat\apache-tomcat-7.0.100\endorsed
七月 04, 2020 7:49:12 下午 org.apache.catalina.startup.VersionLoggerListener log
信息: Command line argument: -Dfile.encoding=GBK
七月 04, 2020 7:49:12 下午 org.apache.catalina.core.AprLifecycleListener lifecycleEvent
信息: The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: [D:\Study\JAVAEE\java\jre1.8\bin;C:\Windows\Sun\Java\bin;C:\Windows\system32;C:\Windows;D:/Study/JAVAEE/java/jre1.8/bin/server;D:/Study/JAVAEE/java/jre1.8/bin;D:/Study/JAVAEE/java/jre1.8/lib/amd64;D:\Study\Python\Anaconda3;D:\Study\Python\Anaconda3\Library\mingw-w64\bin;D:\Study\Python\Anaconda3\Library\usr\bin;D:\Study\Python\Anaconda3\Library\bin;D:\Study\Python\Anaconda3\Scripts;C:\Program Files (x86)\Common Files\Oracle\Java\javapath;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Windows\System32\OpenSSH\;C:\Program Files (x86)\NVIDIA Corporation\PhysX\Common;C:\Program Files\NVIDIA Corporation\NVIDIA NvDLISR;C:\Program Files\Intel\WiFi\bin\;C:\Program Files\Common Files\Intel\WirelessCommon\;D:\Study\DataBase\Mysql\bin;D:\Study\JAVAEE\java\jdk1.8\bin;D:\Study\JAVAEE\java\jdk1.8\jre\bin;C:\Program Files (x86)\VanDyke Software\Clients\;D:\Study\JAVAEE\Maven\apache-maven-3.6.3\bin;D:\Study\JAVAEE\Maven\apache-maven-3.6.3\bin;D:\Study\tools\Git\TortoiseGit\bin;C:\Users\11721\AppData\Local\Microsoft\WindowsApps;D:\Study\編譯器\PyCharm\pycharm\PyCharm 2020.1.1\bin;;C:\Program Files (x86)\VanDyke Software\Clients\;;D:\Study\JAVAEE\Eclipse\eclipse\eclipse;;.]
七月 04, 2020 7:49:12 下午 org.apache.coyote.AbstractProtocol init
信息: 初始化協議處理器 ["http-bio-8080"]
七月 04, 2020 7:49:13 下午 org.apache.catalina.startup.Catalina load
信息: Initialization processed in 457 ms
七月 04, 2020 7:49:13 下午 org.apache.catalina.core.StandardService startInternal
信息: Starting service [Catalina]
七月 04, 2020 7:49:13 下午 org.apache.catalina.core.StandardEngine startInternal
信息: Starting Servlet Engine: Apache Tomcat/7.0.100
七月 04, 2020 7:49:13 下午 org.apache.catalina.core.ContainerBase startInternal
嚴重: 子容器啟動失敗
java.util.concurrent.ExecutionException: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/pet-buy]]
    at java.util.concurrent.FutureTask.report(Unknown Source)
    at java.util.concurrent.FutureTask.get(Unknown Source)
    at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:1241)
    at org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:804)
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
    at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1705)
    at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1695)
    at java.util.concurrent.FutureTask.run(Unknown Source)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
    at java.lang.Thread.run(Unknown Source)
Caused by: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/pet-buy]]
    at org.apache.catalina.util.LifecycleBase.handleSubClassException(LifecycleBase.java:440)
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:198)
    ... 6 more
Caused by: java.lang.IllegalArgumentException: More than one fragment with the name [spring_web] was found. This is not legal with relative ordering. See section 8.2.2 2c of the Servlet specification for details. Consider using absolute ordering.
    at org.apache.catalina.deploy.WebXml.orderWebFragments(WebXml.java:2338)
    at org.apache.catalina.startup.ContextConfig.webConfig(ContextConfig.java:1279)
    at org.apache.catalina.startup.ContextConfig.configureStart(ContextConfig.java:888)
    at org.apache.catalina.startup.ContextConfig.lifecycleEvent(ContextConfig.java:388)
    at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:123)
    at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5606)
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
    ... 6 more

七月 04, 2020 7:49:13 下午 org.apache.catalina.core.ContainerBase startInternal
嚴重: 子容器啟動失敗
java.util.concurrent.ExecutionException: org.apache.catalina.LifecycleException: 子容器啟動失敗
    at java.util.concurrent.FutureTask.report(Unknown Source)
    at java.util.concurrent.FutureTask.get(Unknown Source)
    at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:1241)
    at org.apache.catalina.core.StandardEngine.startInternal(StandardEngine.java:300)
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
    at org.apache.catalina.core.StandardService.startInternal(StandardService.java:444)
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
    at org.apache.catalina.core.StandardServer.startInternal(StandardServer.java:744)
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
    at org.apache.catalina.startup.Catalina.start(Catalina.java:712)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:284)
    at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:415)
Caused by: org.apache.catalina.LifecycleException: 子容器啟動失敗
    at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:1252)
    at org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:804)
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
    at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1705)
    at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1695)
    at java.util.concurrent.FutureTask.run(Unknown Source)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
    at java.lang.Thread.run(Unknown Source)
Caused by: java.util.concurrent.ExecutionException: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/pet-buy]]
    at java.util.concurrent.FutureTask.report(Unknown Source)
    at java.util.concurrent.FutureTask.get(Unknown Source)
    at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:1241)
    ... 8 more
Caused by: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/pet-buy]]
    at org.apache.catalina.util.LifecycleBase.handleSubClassException(LifecycleBase.java:440)
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:198)
    ... 6 more
Caused by: java.lang.IllegalArgumentException: More than one fragment with the name [spring_web] was found. This is not legal with relative ordering. See section 8.2.2 2c of the Servlet specification for details. Consider using absolute ordering.
    at org.apache.catalina.deploy.WebXml.orderWebFragments(WebXml.java:2338)
    at org.apache.catalina.startup.ContextConfig.webConfig(ContextConfig.java:1279)
    at org.apache.catalina.startup.ContextConfig.configureStart(ContextConfig.java:888)
    at org.apache.catalina.startup.ContextConfig.lifecycleEvent(ContextConfig.java:388)
    at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:123)
    at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5606)
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
    ... 6 more

七月 04, 2020 7:49:13 下午 org.apache.catalina.startup.Catalina start
嚴重: 所必需的服務組件啟動失敗,所以無法啟動Tomcat
org.apache.catalina.LifecycleException: 子容器啟動失敗
    at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:1252)
    at org.apache.catalina.core.StandardEngine.startInternal(StandardEngine.java:300)
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
    at org.apache.catalina.core.StandardService.startInternal(StandardService.java:444)
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
    at org.apache.catalina.core.StandardServer.startInternal(StandardServer.java:744)
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
    at org.apache.catalina.startup.Catalina.start(Catalina.java:712)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:284)
    at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:415)
Caused by: java.util.concurrent.ExecutionException: org.apache.catalina.LifecycleException: 子容器啟動失敗
    at java.util.concurrent.FutureTask.report(Unknown Source)
    at java.util.concurrent.FutureTask.get(Unknown Source)
    at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:1241)
    ... 13 more
Caused by: org.apache.catalina.LifecycleException: 子容器啟動失敗
    at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:1252)
    at org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:804)
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
    at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1705)
    at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1695)
    at java.util.concurrent.FutureTask.run(Unknown Source)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
    at java.lang.Thread.run(Unknown Source)
Caused by: java.util.concurrent.ExecutionException: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/pet-buy]]
    at java.util.concurrent.FutureTask.report(Unknown Source)
    at java.util.concurrent.FutureTask.get(Unknown Source)
    at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:1241)
    ... 8 more
Caused by: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/pet-buy]]
    at org.apache.catalina.util.LifecycleBase.handleSubClassException(LifecycleBase.java:440)
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:198)
    ... 6 more
Caused by: java.lang.IllegalArgumentException: More than one fragment with the name [spring_web] was found. This is not legal with relative ordering. See section 8.2.2 2c of the Servlet specification for details. Consider using absolute ordering.
    at org.apache.catalina.deploy.WebXml.orderWebFragments(WebXml.java:2338)
    at org.apache.catalina.startup.ContextConfig.webConfig(ContextConfig.java:1279)
    at org.apache.catalina.startup.ContextConfig.configureStart(ContextConfig.java:888)
    at org.apache.catalina.startup.ContextConfig.lifecycleEvent(ContextConfig.java:388)
    at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:123)
    at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5606)
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
    ... 6 more

七月 04, 2020 7:49:13 下午 org.apache.coyote.AbstractProtocol pause
信息: Pausing ProtocolHandler ["http-bio-8080"]
七月 04, 2020 7:49:13 下午 org.apache.catalina.core.StandardService stopInternal
信息: 正在停止服務[Catalina]
七月 04, 2020 7:49:13 下午 org.apache.coyote.AbstractProtocol destroy
信息: 正在摧毀協議處理器 ["http-bio-8080"]
 

 

解決方案(1 / 2):

1. 方案1:

我使用的是tomcat7,找到這樣conf 目錄下的catalina.properties文件並打開,找到這行代碼:

org.apache.catalina.startup.ContextConfig.jarsToSkip=

將其改成:org.apache.catalina.startup.ContextConfig.jarsToSkip=*.jar

保存並關閉,重新啟動eclipse和tomcat即可。

2. 方案2:

如果第一種方案不行,那么我們直接將

<absolute-ordering />

這行代碼 放到 項目的 web.xml 即可,加入該代碼后項目可能會標紅,但不影響 項目的運行。

我采用的是方案2

希望對大家有所幫助!~
————————————————
版權聲明:本文為CSDN博主「、Lu」的原創文章,遵循CC 4.0 BY-SA版權協議,轉載請附上原文出處鏈接及本聲明。
原文鏈接:https://blog.csdn.net/qq_39504519/article/details/107129383


免責聲明!

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



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