解決Tomcat7“At least one JAR was scanned for TLDs yet contained no TLDs”問題


解決Tomcat7“At least one JAR was scanned for TLDs yet contained no TLDs”問題  

2013-12-05 21:58:00|  分類: tomcat |舉報 |字號 訂閱

 

【Tomcat版本】7.0.42

【問題描述】Tomcat啟動后,訪問動態頁面后提示“At least one JAR was scanned for TLDs yet contained no TLDs. Enable debug logging for this logger for a complete list of JARs that were scanned but no TLDs were found in them. Skipping unneeded JARs during scanning can improve startup time and JSP compilation time”

 

【問題原因猜測】Tomcat7/Servlet3.0 新增特性“可插性支持”實現的原理應該是自動掃描jar,當jar中並不包含相關組件時會打印該信息

 

【問題處理】從提示信息來看,不處理也可以,但對於有潔癖的、追求完美的程序員而言這個是不允許的。具體處理步驟:

 

1.調整Tomcat對應類的log級別

修改${tomcat}/conf/log4j.properties

Java代碼   收藏代碼
  1. ##解除類org.apache.jasper.compiler.TldLocationsCache的log  
  2. org.apache.jasper.compiler.TldLocationsCache.level = FINE  

 

 2.觀察Tomcat日志打印信息

步驟1執行完后,重啟Tomcat,觀察Tomcat日志,會在日志中發現類似如下打印信息:

Java代碼   收藏代碼
  1. 九月 09, 2013 10:55:37 上午 org.apache.jasper.compiler.TldLocationsCache tldScanJar  
  2. 詳細: No TLD files were found in [file:/E:/devspace/xxt_login/WEB-INF/lib/json-lib-2.3-jdk15.jar]. Consider adding the JAR to the tomcat.util.scan.DefaultJarScanner.jarsToSkip or org.apache.catalina.startup.TldConfig.jarsToSkip property in CATALINA_BASE/conf/catalina.properties file.  
  3. 九月 09, 2013 10:55:37 上午 org.apache.jasper.compiler.TldLocationsCache tldScanJar  
  4. 詳細: No TLD files were found in [file:/E:/devspace/xxt_login/WEB-INF/lib/poi-3.8.jar]. Consider adding the JAR to the tomcat.util.scan.DefaultJarScanner.jarsToSkip or org.apache.catalina.startup.TldConfig.jarsToSkip property in CATALINA_BASE/conf/catalina.properties file.  

 

 

3.調整${tomcat}/conf/catalina.properties,將提示的jar添加到不掃描清單中

Java代碼   收藏代碼
  1. tomcat.util.scan.DefaultJarScanner.jarsToSkip=\  
  2. bootstrap.jar,commons-daemon.jar,tomcat-juli.jar,\  
  3. annotations-api.jar,el-api.jar,jsp-api.jar,servlet-api.jar,\  
  4. catalina.jar,catalina-ant.jar,catalina-ha.jar,catalina-tribes.jar,\  
  5. jasper.jar,jasper-el.jar,ecj-*.jar,\  
  6. tomcat-api.jar,tomcat-util.jar,tomcat-coyote.jar,tomcat-dbcp.jar,\  
  7. tomcat-jni.jar,tomcat-spdy.jar,\  
  8. tomcat-i18n-en.jar,tomcat-i18n-es.jar,tomcat-i18n-fr.jar,tomcat-i18n-ja.jar,\  
  9. tomcat-juli-adapters.jar,catalina-jmx-remote.jar,catalina-ws.jar,\  
  10. tomcat-jdbc.jar,\  
  11. tools.jar,\  
  12. commons-beanutils*.jar,commons-codec*.jar,commons-collections*.jar,\  
  13. commons-dbcp*.jar,commons-digester*.jar,commons-fileupload*.jar,\  
  14. commons-httpclient*.jar,commons-io*.jar,commons-lang*.jar,commons-logging*.jar,\  
  15. commons-math*.jar,commons-pool*.jar,\  
  16. jstl.jar,\  
  17. geronimo-spec-jaxrpc*.jar,wsdl4j*.jar,\  
  18. ant.jar,ant-junit*.jar,aspectj*.jar,jmx.jar,h2*.jar,hibernate*.jar,httpclient*.jar,\  
  19. jmx-tools.jar,jta*.jar,log4j*.jar,mail*.jar,slf4j*.jar,\  
  20. xercesImpl.jar,xmlParserAPIs.jar,xml-apis.jar,\  
  21. junit.jar,junit-*.jar,ant-launcher.jar,\  
  22. json-lib-*.jar,poi-*.jar  

 

 

【注意】

1.如果使用eclipse server插件、Sysdeo tomcat插件啟動Tomcat,此配合可能無效

2.步驟1調整完后,最好清除下以下兩個文件夾${tomcat}/conf/Catalina ${tomcat}/work/Catalina

3.盡量使用*號實現模式匹配,以避免因jar版本升級帶來的重復修改代價

 

【參考資料】

Servlet3.0新特性

http://blog.csdn.net/aking21alinjuju/article/details/5583820

 轉自:http://mov-webhobo.iteye.com/blog/1939655


免責聲明!

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



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM