至少有一个JAR被扫描用于TLD但尚未包含TLD

Mr_*_*s_D 52 eclipse tomcat tomcat7

我一直在tomcat 7.30(eclipse juno)上得到这个

至少有一个JAR被扫描用于TLD但尚未包含TLD.为此记录器启用调试日志记录,以获取已扫描但未在其中找到TLD的完整JAR列表.在扫描期间跳过不需要的JAR可以缩短启动时间和JSP编译时间.

我于是在conf\logging.properties转身都INFOFINE和注释掉线

# To see debug messages in TldLocationsCache, uncomment the following line:
org.apache.jasper.compiler.TldLocationsCache.level = FINE
Run Code Online (Sandbox Code Playgroud)

我仍然看到 At least one JAR was scanned for TLDs yet contained no TLDs. Enable debug logging...

那么我该怎么做才能看到这些罐子呢?

日志位置:

tomcat日志位于$ CATALINA_HOME\logs\catalina.yyyy-mm-dd.log中.Eclipse在控制台中打印它们 - 如果您想要记录的控制台,您必须

在服务器选项卡中,双击Tomcat服务器.您将看到一个名为Overview的屏幕.单击"打开启动配置".单击"Common"选项卡.在屏幕底部,您可以选中"文件"复选框,然后指定一个可用于记录控制台(catalina.out)输出的文件.最后,重启Tomcat服务器.

Mr_*_*s_D 25

如果想要conf\logging.properties读取必须(另请参见此处)将此文件转储到该Servers\Tomcat v7.0 Server at localhost-config\文件夹中,然后添加以下行:

-Djava.util.logging.config.file ="$ {workspace_loc}\Servers\Tomcat v7.0 Server at localhost-config\logging.properties"-Djava.util.logging.manager = org.apache.juli.ClassLoaderLogManager

一个正在使用的启动配置的VM参数.

这可能需要重启或两次(或不重启),但最后我在控制台中看到了鲜红色:

FINE:在[file:/ C:/Dropbox/eclipse_workspaces/javaEE/.metadata/.plugins/org.eclipse.wst.server.core/tmp0/wtpwebapps/ted2012/WEB-INF/lib/logback中找不到TLD文件-classic-1.0.7.jar].考虑将JAR添加到CATALINA_BASE/conf/catalina.properties文件中的tomcat.util.scan.DefaultJarScanner.jarsToSkip或org.apache.catalina.startup.TldConfig.jarsToSkip属性.//等等

我仍然不知道这个FINE警告何时出现 - 在tomcat启动时不会立即出现 编辑:来自@Stephan的评论:"每次在JSP文件中进行任何更改时都会出现FINE警告".


奖励:为了使警告消失,请加入catalina.properties :

# Additional JARs (over and above the default JARs listed above) to skip when
# scanning for TLDs. The list must be a comma separated list of JAR file names.
org.apache.catalina.startup.TldConfig.jarsToSkip=logback-classic-1.0.7.jar,\
joda-time-2.1.jar,joda-time-2.1-javadoc.jar,mysql-connector-java-5.1.24-bin.jar,\
logback-core-1.0.7.jar,javax.servlet.jsp.jstl-api-1.2.1.jar
Run Code Online (Sandbox Code Playgroud)

  • 每次在JSP文件中进行任何更改时,都会出现"FINE"警告. (2认同)

dom*_*nik 12

(tomcat 8.0.28)以上方法对我不起作用.这是有效的:

  1. 将此行添加到{CATALINA-HOME} /conf/logging.properties的末尾:

    org.apache.jasper.level = FINEST
    
    Run Code Online (Sandbox Code Playgroud)
  2. 关闭服务器(如果已启动).

  3. 打开控制台并运行(如果是Windows):

    %CATALINA_HOME%\bin\catalina.bat run
    
    Run Code Online (Sandbox Code Playgroud)
  4. 享受日志,例如(再次,对于Windows):

    {CATALINA-HOME}/logs/catalina.2015-12-28.log
    
    Run Code Online (Sandbox Code Playgroud)

我放弃了将它与Eclipse启动配置集成,因此请注意,这仅适用于控制台,从Eclipse启动服务器不会产生额外的日志消息.


mhm*_*tee 6

Apache的Tomcat的8.0.33

如果要在tomcat中为TLD扫描的jar启用调试日志记录,则必须更改tomcat目录中的/conf/logging.properties文件.

取消注释该行:
org.apache.jasper.servlet.TldScanner.level = FINE

FINE级别用于调试日志.

这适用于普通的tomcat.

如果tomcat在eclipse下运行.然后你必须在eclipse中设置tomcat logging.properties的路径.

  1. 在eclipse中打开服务器视图.停止服务器.双击你的tomcat服务器.
    这将打开服务器的" 概述"窗口.
  2. 单击打开启动配置.这将打开另一个窗口.
  3. 转到Arguments选项卡(第二个选项卡).转到VM参数部分.
  4. 将这两行粘贴在那里: -
    -Djava.util.logging.config.file ="{CATALINA_HOME}\conf\logging.properties"
    -Djava.util.logging.manager = org.apache.juli.ClassLoaderLogManager
    这里CATALINA_HOME是你的PC的对应的tomcat服务器目录.
  5. 保存Changes.Restart服务器.

现在,扫描TLD的jar文件应该显示在日志中.


归档时间:

查看次数:

158022 次

最近记录:

8 年,6 月 前