親測(cè)有效解決Tomcat啟動(dòng)提示錯(cuò)誤:At?least?one?JAR?was?scanned?for?TLDs?yet?contained?no?TLDs
一、文章前言
本文是親測(cè)有效解決At least one JAR was scanned for TLDs yet contained no TLDs問(wèn)題,絕對(duì)不是為了積分隨便粘貼復(fù)制然后壓根都沒(méi)有用系列
二、問(wèn)題描述
1.今天測(cè)試發(fā)現(xiàn)Tomcat啟動(dòng)賊慢,當(dāng)然這個(gè)不是隨機(jī)數(shù)問(wèn)題,而是每次卡在At least one JAR was scanned for TLDs yet contained no TLDs這個(gè)位置要好半天,而且還是在只有一個(gè)項(xiàng)目的情況下!
2.參考別的文章說(shuō)編輯logging.properties 文件,在文件末尾添加,org.apache.jasper.servlet.TldScanner.level = FINE,啟動(dòng)服務(wù)器,然后在控制臺(tái)看到什么No的輸出提示,保存在某一個(gè)文件中,然后接下來(lái)將文件中提示的jar包再添加到catalina.properties 文件中的tomcat.util.scan.StandardJarScanFilter.jarsToSkip的后面,問(wèn)題能暫時(shí)解決,然后你會(huì)發(fā)下以下幾個(gè)問(wèn)題
- 起作用了,但是當(dāng)你新加一個(gè)jar包不符合規(guī)范,煩人的提示又開(kāi)始了
- 只適用于服務(wù)器內(nèi)項(xiàng)目已經(jīng)固定了的情況,新建一個(gè)不同類項(xiàng)目問(wèn)題又出現(xiàn)
3.想過(guò)直接關(guān)閉TLD檢查,在conf/context.xml的<Context>中添加processTlds="false"也不起作用
三、問(wèn)題原因
1.出現(xiàn)這個(gè)問(wèn)題的原因就是Tomcat啟動(dòng)時(shí)會(huì)掃描大量jar包,如果含有不符合TLD規(guī)范的就會(huì)出現(xiàn)這個(gè)問(wèn)題
2.以后基本上不會(huì)使用JSP作為視圖層,所以我們可能根本不需要TLD這個(gè)東西,就算不要TLD也沒(méi)有什么關(guān)系
3.注意兩個(gè)啟動(dòng):一個(gè)是從tomcat的bin目錄中啟動(dòng),另外一個(gè)是從Eclipse中或者別的軟件中啟動(dòng),注意看Eclipse啟動(dòng)部分
四、問(wèn)題解決
4.1 解決步驟
1.可以在Tomcat安裝目錄下apache-tomcat-9.0.1\conf\catalina.properties文件中看到有以下一串代碼,代表的是在啟動(dòng)Tomcat需要跳過(guò)檢查的jar包

2.那么解決辦法就是跳過(guò)所以jar包的TLD檢查,將所有tomcat.util.scan.StandardJarScanFilter.jarsToSkip=后面的所有通過(guò)\連接的這些.jar全部刪除(操作之前請(qǐng)備份源文件),直接給tomcat.util.scan.StandardJarScanFilter.jarsToSkip賦值"*.jar","*.jar"代表跳過(guò)所有以.jar結(jié)尾的文件,示例如下
tomcat.util.scan.StandardJarScanFilter.jarsToSkip=*.jar

3.刪除tomcat的work目錄中的所有文件避免緩存干擾;清空所有l(wèi)ogs目錄中的日志文件,為了方便查看日志文件
4.2 從Tomcat的Bin目錄中啟動(dòng)服務(wù)器
1.現(xiàn)在到bin目錄中找到startup.bat(windows:雙擊即可運(yùn)行)或startup.sh(Linux:命令 "./startup.sh" 運(yùn)行)進(jìn)行啟動(dòng),發(fā)現(xiàn)啟動(dòng)超快,只需要807毫秒

5.注意:這里只是直接在bin中啟動(dòng)了tomcat服務(wù)器,接下來(lái)是從Eclipse配置tomcat,通過(guò)Eclipse啟動(dòng)服務(wù)器
4.3 Eclipse啟動(dòng)Tomcat
1.如果原來(lái)就已經(jīng)配置過(guò)該Tomcat的會(huì)發(fā)現(xiàn)在Eclipse中啟動(dòng)還是老樣子,每次卡在TLD那里,感覺(jué)根本沒(méi)有解決,原因如下
Eclipse沒(méi)有使用配置過(guò)的Tomcat,而是使用了自帶的TomcatEclipse中原來(lái)配置過(guò)該Tomcat,因?yàn)門omcat緩存導(dǎo)致沒(méi)有生效
2.接下在最重要的一步就是刪除Eclipse原來(lái)配置過(guò)的服務(wù)器,單擊右鍵選擇刪除即可

3.創(chuàng)建新的運(yùn)行環(huán)境,改成現(xiàn)在新配置的Tomcat,這樣才能讓配置生效,配置Tomcat服務(wù)器參考文章:http://m.fzitv.net/article/183590.htm
4.創(chuàng)建新的服務(wù)器之后啟動(dòng)只要482ms

到此這篇關(guān)于親測(cè)有效解決Tomcat啟動(dòng)提示錯(cuò)誤:At least one JAR was scanned for TLDs yet contained no TLDs的文章就介紹到這了,更多相關(guān)tomcat啟動(dòng)提示錯(cuò)誤內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Tomcat內(nèi)存泄漏檢測(cè)和預(yù)防策略
內(nèi)存泄漏是Java應(yīng)用程序中常見(jiàn)的問(wèn)題,尤其是在使用如Tomcat這樣的應(yīng)用服務(wù)器時(shí),檢測(cè)和預(yù)防內(nèi)存泄漏需要結(jié)合代碼審查、工具監(jiān)控和良好的編程習(xí)慣,以下是一些詳細(xì)的步驟和示例代碼,需要的朋友可以參考下2024-11-11
Tomcat HTTPS證書(shū)申請(qǐng)與部署的實(shí)現(xiàn)
本文主要介紹了Tomcat HTTPS證書(shū)申請(qǐng)與部署的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2022-06-06
Tomcat實(shí)現(xiàn)WebSocket的方法
WebSocket協(xié)議屬于HTML5標(biāo)準(zhǔn),越來(lái)越多瀏覽器已經(jīng)原生支持WebSocket,它能讓客戶端和服務(wù)端實(shí)現(xiàn)雙向通信。這篇文章主要介紹了Tomcat實(shí)現(xiàn)WebSocket的方法的相關(guān)資料,需要的朋友可以參考下2016-11-11
如何修改tomcat項(xiàng)目的圖標(biāo)(兩種)
這篇文章主要介紹了修改tomcat項(xiàng)目圖標(biāo)的方法,一種形式是修改頁(yè)面,另一種形式是修改webapps/root 圖標(biāo),具體修改方法大家參考下本文2018-03-03
Tomcat部署war包并成功訪問(wèn)網(wǎng)頁(yè)詳細(xì)圖文教程
Tomcat是目前web開(kāi)發(fā)中非常流行的Web服務(wù)器,這篇文章主要給大家介紹了關(guān)于Tomcat部署war包并成功訪問(wèn)網(wǎng)頁(yè)的相關(guān)資料,文中通過(guò)圖文介紹的非常詳細(xì),需要的朋友可以參考下2023-12-12

