无法部署应用目录 [D:\Tomcat\apache-tomcat-9.0.44\webapps\ROOT]java.lang.IllegalStateException: 启动子级时出错
? ? ? ? ? ? 起因是剛開始導入一個web項目,沒有導入Tomcat的jar包,導致找不到javax.servlet.http 和 javax.servlet.jsp,看了下網上的建議,將Tomcat7.0\lib下的el-api.jar、jsp-api.jar這兩個jar包放到Java\jdk1.8.0_131\jre\lib\ext目錄下,導入jar后沒有報錯了。還有一個報錯,是因為從Tomcat8轉到Tomcat7,需要修改一個配置文件,在項目下.settings\org.eclipse.wst.common.project.facet.core.xml文件下Tomcat的那行配置刪除。
? ? ? ? ? 項目是沒有錯誤之后,在Tomcat上啟動,就開始報下面的錯誤:
java.lang.NoClassDefFoundError: Could not initialize class org.apache.jasper.el.ELContextImpl? ? ? ? ?看了很多,都說是使用Activiti時,關于Could not initialize class org.apache.jasper.el.ELContextImpl問題,是由于jar包沖突導致的,但是我沒有導入Activiti的jar包,
我開始尋找問題,看見有的說是Tomcat版本和jdk版本不一致導致的,我又下載了Tomcat的8.5和9.0版本。但是發現問題沒有絲毫解決,甚至更多了,出現了下面的問題:
13-Mar-2021 19:17:23.253 信息 [main] org.apache.catalina.startup.HostConfig.deployDirectory Web應用程序目錄[D:\Tomcat\apache-tomcat-9.0.44\webapps\manager]的部署已在[47]毫秒內完成 13-Mar-2021 19:17:23.269 信息 [main] org.apache.catalina.startup.HostConfig.deployDirectory 把web 應用程序部署到目錄 [D:\Tomcat\apache-tomcat-9.0.44\webapps\ROOT] 13-Mar-2021 19:17:23.284 嚴重 [main] org.apache.catalina.startup.HostConfig.deployDirectory 無法部署應用目錄 [D:\Tomcat\apache-tomcat-9.0.44\webapps\ROOT]java.lang.IllegalStateException: 啟動子級時出錯? ? ? ? 發現雖然本地啟動會報錯,但是Tomcat服務器可以啟動,不過http://localhost:8080/訪問會出現404的報錯,搜遍網上也沒找到原因,最后還是切回Tomcat7.0,
發現沒有報上面的錯誤,但是在http://localhost:8080/訪問會出現500的報錯,報的是這個錯誤:
javax.servlet.ServletException: java.lang.NoClassDefFoundError然后參考了這個文章:https://blog.csdn.net/qq_39188306/article/details/89672188
解決辦法:?
1、進入你tomcat安裝目錄:我的是D:\Tomcat7.0\lib,找到el-api.jar包;
2、找到你安裝使用的JDK版本目錄,我的是在C:\Program Files\Java\jdk1.8.0_131\jre\lib\ext目錄下;
3、將tomcat中的el-api.jar包拷貝到JDK安裝目錄下的jre/lib/ext目錄下(如果已經存在,請覆蓋);
? ? ? ? ?按這樣的方法解決了,但是總覺得不對勁,這不是我剛開始導入的Tomcat7.0\lib下的el-api.jar、jsp-api.jar這兩個包流程嗎?
? ? ? ? ?然后我將Java\jdk1.8.0_131\jre\lib\ext目錄下el-api.jar、jsp-api.jar和servlet-api.jar三個jar包刪除,然后運行發現問題完美解決,然后又使用Tomcat的8.5和9.0版本
發現都可以正常訪問http://localhost:8080/
?
總結:不要隨便向Java\jdk1.8.0_131\jre\lib\ext目錄下放 jar包,容易導致Tomcat服務器啟動時出現jar沖突,出現java.lang.NoClassDefFoundError:?Could not initialize class org.apache.jasper.el.ELContextImpl的異常
總結
以上是生活随笔為你收集整理的无法部署应用目录 [D:\Tomcat\apache-tomcat-9.0.44\webapps\ROOT]java.lang.IllegalStateException: 启动子级时出错的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 双核心Opteron处理器
- 下一篇: 球差透射电镜测试样品的优势有哪些?