ContainerBase.addChild: start: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[]]


今天第一次遇到Failed to start component [StandardEngine[Catalina].StandardHost[localhost].錯誤,並且在錯誤提示的后半段出現了剛剛刪除的工程

因此出現這種錯誤的原因可能有:

1.tomcat存在緩存

  右鍵點擊tomcat-->Clean Tomcat  Work Directory.. --> Clean.. 

  對tomcat進行清理

2.tomcat自己出現了問題

  將tomcat刪除,重新添加並配置一下tomcat

3.其他情況...

 


Caused by: java.lang.NoClassDefFoundError: org/apache/tomcat/util/descriptor/tld/TldParser

原因還是依賴了spring boot 內部提供的tomcat的問題,將上面pom的配置改成下面這樣即可(作用域設置成依賴外部tomcat容器提供的jsp):

 

<dependency>
    <groupId>org.apache.tomcat.embed</groupId>
    <artifactId>tomcat-embed-jasper</artifactId>
    <scope>provided</scope>
</dependency>

  

Springboot tomcat-embed-jasper依賴說明

 

  使用過Springboot的同學都知道其已內置tomcat(spring-boot-starter-web),無需打war包,打成jar包直接運行。最近學習使用Springboot發現項目中的pom文件引入了tomcat-embed-jasper(對jsp的支持的依賴)但scope為provided。

        於是不明白感覺springboot的tomcat應該自帶了tomcat-embed-jasper吧,遂將pom文件該依賴刪掉,eclipse啟動項目無報錯,訪問頁面發現所有的jsp頁面都會被下載而不能被訪問。但是又一個令我疑惑的問題是其依賴scope為provided,也就是說打包時該依賴不會被包含在lib包內,但是我的jar啟動的頁面訪問卻沒有問題。

        以上說明一個問題:springboot自帶的tomcat並沒有攜帶tomcat-embed-jasper的依賴。

        又做了一個實驗:將tomcat-embed-jasper的scope去掉后,打成jar包,啟動項目時報錯==>jasper的jar包沖突。

        結論猜測:檢查pom文件后,猜測一定是spring-boot-maven-plugin(1.4.2.RELEASE)插件在打包時自動額外的添加tomcat-embed-jasper的支持。而我們在工具中啟動項目時並沒有打包,所以需要該依賴對我們eclipse中項目jsp的支持,為防止其打包沖突,遂設置其scope為provided。


免責聲明!

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



猜您在找 嚴重: ContainerBase.addChild: start: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/springmvc-day01]] java.lang.IllegalStateException: ContainerBase.addChild: start: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[]] tomcat啟動報錯:org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[]] org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/localhost]] ContainerBase.addChild: start: org.apache.catalina.LifecycleException: Failed to start component解決 javaweb項目啟動報錯org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/cab-web]] tomcat 啟動報錯org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].xxx java.util.concurrent.ExecutionException: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/xiaozao_web]] IDEA啟動tomcat報錯:java.lang.NoClassDefFoundError: org/springframework/context/ApplicationContext、ContainerBase.addChild: start: org.apache.catalina.LifecycleException: Failed to start component springboot項目報錯: org.apache.catalina.LifecycleException: Failed to start component [NonLoginAuthenticator[StandardEngine[Tomcat].StandardHost[localhost].TomcatEmbeddedContext[]]]
 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM