親測有效解決Tomcat啟動提示錯誤:At?least?one?JAR?was?scanned?for?TLDs?yet?contained?no?TLDs
一、文章前言
本文是親測有效解決At least one JAR was scanned for TLDs yet contained no TLDs問題,絕對不是為了積分隨便粘貼復(fù)制然后壓根都沒有用系列
二、問題描述
1.今天測試發(fā)現(xiàn)Tomcat啟動賊慢,當(dāng)然這個不是隨機數(shù)問題,而是每次卡在At least one JAR was scanned for TLDs yet contained no TLDs這個位置要好半天,而且還是在只有一個項目的情況下!
2.參考別的文章說編輯logging.properties 文件,在文件末尾添加,org.apache.jasper.servlet.TldScanner.level = FINE,啟動服務(wù)器,然后在控制臺看到什么No的輸出提示,保存在某一個文件中,然后接下來將文件中提示的jar包再添加到catalina.properties 文件中的tomcat.util.scan.StandardJarScanFilter.jarsToSkip的后面,問題能暫時解決,然后你會發(fā)下以下幾個問題
- 起作用了,但是當(dāng)你新加一個jar包不符合規(guī)范,煩人的提示又開始了
- 只適用于服務(wù)器內(nèi)項目已經(jīng)固定了的情況,新建一個不同類項目問題又出現(xiàn)
3.想過直接關(guān)閉TLD檢查,在conf/context.xml的<Context>中添加processTlds="false"也不起作用
三、問題原因
1.出現(xiàn)這個問題的原因就是Tomcat啟動時會掃描大量jar包,如果含有不符合TLD規(guī)范的就會出現(xiàn)這個問題
2.以后基本上不會使用JSP作為視圖層,所以我們可能根本不需要TLD這個東西,就算不要TLD也沒有什么關(guān)系
3.注意兩個啟動:一個是從tomcat的bin目錄中啟動,另外一個是從Eclipse中或者別的軟件中啟動,注意看Eclipse啟動部分
四、問題解決
4.1 解決步驟
1.可以在Tomcat安裝目錄下apache-tomcat-9.0.1\conf\catalina.properties文件中看到有以下一串代碼,代表的是在啟動Tomcat需要跳過檢查的jar包
2.那么解決辦法就是跳過所以jar包的TLD檢查,將所有tomcat.util.scan.StandardJarScanFilter.jarsToSkip=后面的所有通過\連接的這些.jar全部刪除(操作之前請備份源文件),直接給tomcat.util.scan.StandardJarScanFilter.jarsToSkip賦值"*.jar","*.jar"代表跳過所有以.jar結(jié)尾的文件,示例如下
tomcat.util.scan.StandardJarScanFilter.jarsToSkip=*.jar
3.刪除tomcat的work目錄中的所有文件避免緩存干擾;清空所有l(wèi)ogs目錄中的日志文件,為了方便查看日志文件
4.2 從Tomcat的Bin目錄中啟動服務(wù)器
1.現(xiàn)在到bin目錄中找到startup.bat(windows:雙擊即可運行)或startup.sh(Linux:命令 "./startup.sh" 運行)進(jìn)行啟動,發(fā)現(xiàn)啟動超快,只需要807毫秒
5.注意:這里只是直接在bin中啟動了tomcat服務(wù)器,接下來是從Eclipse配置tomcat,通過Eclipse啟動服務(wù)器
4.3 Eclipse啟動Tomcat
1.如果原來就已經(jīng)配置過該Tomcat的會發(fā)現(xiàn)在Eclipse中啟動還是老樣子,每次卡在TLD那里,感覺根本沒有解決,原因如下
Eclipse沒有使用配置過的Tomcat,而是使用了自帶的TomcatEclipse中原來配置過該Tomcat,因為Tomcat緩存導(dǎo)致沒有生效
2.接下在最重要的一步就是刪除Eclipse原來配置過的服務(wù)器,單擊右鍵選擇刪除即可
3.創(chuàng)建新的運行環(huán)境,改成現(xiàn)在新配置的Tomcat,這樣才能讓配置生效,配置Tomcat服務(wù)器參考文章:http://chabaoo.cn/article/183590.htm
4.創(chuàng)建新的服務(wù)器之后啟動只要482ms
到此這篇關(guān)于親測有效解決Tomcat啟動提示錯誤:At least one JAR was scanned for TLDs yet contained no TLDs的文章就介紹到這了,更多相關(guān)tomcat啟動提示錯誤內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
TOMCAT啟動失敗using?catalina_opts為空的解決方法
這篇文章主要給大家分享了TOMCAT啟動失敗using?catalina_opts為空的解決方法,文中有詳細(xì)的解決流程,具有一定的參考價值,需要的朋友可以參考下2023-10-10