Pas*_*ulz 11 logging jsp tomcat tomcat8 archlinux-arm
在Arch Linux ARM上启动Tomcat 8时,我收到以下警告:
信息:至少有一个JAR被扫描用于TLD但尚未包含TLD.为此记录器启用调试日志记录,以获取已扫描但未在其中找到TLD的完整JAR列表.在扫描期间跳过不需要的JAR可以缩短启动时间和JSP编译时间
我已经修改了$ {catalina.home} /logging.properties,如下所述:如何修复JSP编译器警告:一个JAR被扫描用于TLD但尚未包含TLD?
我将一些日志记录级别从INFO更改为FINE,取消注释"org.apache.jasper.compiler.TldLocationsCache.level = FINE"并添加了"org.apache.jasper.servlet.TldScanner.level = FINE".所以文件的结尾现在看起来如下:
org.apache.catalina.core.ContainerBase.[Catalina].[localhost] .level = FINE org.apache.catalina.core.ContainerBase.[Catalina].[localhost] .handlers = 2localhost.org.apache.juli.AsyncFileHandler
org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/ manager] .level = FINE org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/ manager] .handlers = 3manager.org.apache.juli.AsyncFileHandler
org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/ host-manager] .level = FINE org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/ host- manager] .handlers = 4host-manager.org.apache.juli.AsyncFileHandler
#例如,将org.apache.catalina.util.LifecycleBase记录器设置为log#扩展LifecycleBase更改状态的每个组件:#org.apache.catalina.util.LifecycleBase.level = FINE
#要在TldLocationsCache中查看调试消息,请取消注释以下行:org.apache.jasper.compiler.TldLocationsCache.level = FINE org.apache.jasper.servlet.TldScanner.level = FINE
但我仍然在启动时收到警告,而不是不需要的JAR路径.怎么了?
小智 5
尝试调试所有内容:
将其添加到logging.properties
位于以下位置的文件的末尾{CATALINA-HOME}/conf
:
#To see the most detailed level of logging for all classes, uncomment the following line:
org.apache.catalina.level=FINEST
Run Code Online (Sandbox Code Playgroud)重启Tomcat
从终端运行以下命令以获取需要跳过的jar列表(由@joseph-lust在此帖子提供):
egrep "No TLD files were found in \[file:[^\]+\]" {CATALINA-HOME}/logs/catalina.out -o | egrep "[^]/]+.jar" -o | sort | uniq | sed -e 's/.jar/.jar,\\/g' > ~/skips.txt
Run Code Online (Sandbox Code Playgroud)skips.txt
在您的用户主目录中打开
将此列表添加到{CATALINA-HOME}/conf/catalina.properties
以下行之后:
org.apache.catalina.startup.TldConfig.jarsToSkip=
Run Code Online (Sandbox Code Playgroud)我仍然不确定为什么会发生这种情况,因为它似乎最适合取消注释TldLocationsCache
.
小智 5
一种更简单的方法,在上述帖子的第 1 步中,不是为所有内容启用调试,而是限制为 org.apache.jasper:
用这个:
org.apache.jasper.level = FINEST
Run Code Online (Sandbox Code Playgroud)
取而代之的是:
org.apache.catalina.level=FINEST
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
10069 次 |
最近记录: |