(完美解決)Tomcat啓動提示At least one JAR was scanned for TLDs yet contained no TLDs

目錄

一、文章前言

二、問題描述

三、問題原因

四、問題解決

4.1 解決步驟

 

一、文章前言
    本文是親測有效解決At least one JAR was scanned for TLDs yet contained no TLDs問題,絕對不是爲了積分隨便粘貼複製然後壓根都沒有用系列


二、問題描述
    1.今天測試發現Tomcat啓動賊慢,當然這個不是隨機數問題,而是每次卡在At least one JAR was scanned for TLDs yet contained no TLDs這個位置要好半天,而且還是在只有一個項目的情況下!

    2.參考別的文章說編輯logging.properties 文件,在文件末尾添加,org.apache.jasper.servlet.TldScanner.level = FINE,啓動服務器,然後在控制檯看到什麼No的輸出提示,保存在某一個文件中,然後接下來將文件中提示的jar包再添加到catalina.properties 文件中的 tomcat.util.scan.StandardJarScanFilter.jarsToSkip的後面,問題能暫時解決,然後你會發下以下幾個問題

起作用了,但是當你新加一個jar包不符合規範,煩人的提示又開始了
只適用於服務器內項目已經固定了的情況,新建一個不同類項目問題又出現
   3.想過直接關閉TLD檢查,在 conf/context.xml的<Context>中添加processTlds="false"也不起作用

三、問題原因
    1.出現這個問題的原因就是Tomcat啓動時會掃描大量jar包,如果含有不符合TLD規範的就會出現這個問題

    2.以後基本上不會使用JSP作爲視圖層,所以我們可能根本不需要TLD這個東西,就算不要TLD也沒有什麼關係

   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結尾的文件,示例如下

tomcat.util.scan.StandardJarScanFilter.jarsToSkip=*.jar

 

3.刪除tomcat的work目錄中的所有文件避免緩存干擾;清空所有logs目錄中的日誌文件,爲了方便查看日誌文件
--------------------- 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章