62

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

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

好吧,我去了conf\logging.properties,把所有的东西都INFO转向FINE并取消了对这条线的评论

# To see debug messages in TldLocationsCache, uncomment the following line:
org.apache.jasper.compiler.TldLocationsCache.level = FINE

我仍然看到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 服务器。您将看到一个名为概览的屏幕。单击“打开启动配置”。单击“常用”选项卡。在屏幕底部,您可以选中“文件”复选框,然后指定一个可用于记录控制台 (catalina.out) 输出的文件。最后,重新启动 Tomcat 服务器。

4

7 回答 7

27

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

-Djava.util.logging.config.file="${workspace_loc}\Servers\Tomcat v7.0 服务器在 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 属性。//ETC

我仍然不知道这个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
于 2013-04-13T10:46:49.393 回答
13

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

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

    org.apache.jasper.level = FINEST
    
  2. 关闭服务器(如果已启动)。

  3. 打开控制台并运行(在 Windows 的情况下):

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

    {CATALINA-HOME}/logs/catalina.2015-12-28.log
    

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

于 2015-12-28T14:02:08.650 回答
8

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. 转到参数选项卡(第二个选项卡)。转到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. 保存更改。重新启动服务器。

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

于 2016-05-20T05:12:24.010 回答
4

(tomcat 7.0.32)尽管在tomcat/conf/logging.properties文件 中启用了 TldLocationsCache 行,但我在查看调试消息时遇到了问题。我所能看到的只是一个警告,而不是扫描了哪些库。更改了每个日志级别都尝试了一切都没有运气。然后我进入了流氓调试模式(=一个一个删除,干净安装等),终于找到了原因。

我的 webapp 有一个自定义的tomcat/webapps/mywebapp/WEB-INF/classes/logging.properties文件。我将 TldLocationsCache 行复制到该文件中,最后我可以看到 jars 文件名。

# 要查看 TldLocationsCache 中的调试消息,请取消注释以下行: org.apache.jasper.compiler.TldLocationsCache.level = FINE

于 2013-01-11T18:38:27.900 回答
2

对于任何尝试使用Sysdeo Eclipse Tomcat 插件来实现此功能的人,请尝试以下步骤(我使用 Sysdeo Tomcat 插件 3.3.0、Eclipse Kepler 和 Tomcat 7.0.53 来构建这些步骤):

  1. Window --> Preferences --> 在树中展开 Tomcat 节点 --> JVM Settings
  2. 在“附加到 JVM 参数”下,单击“添加”按钮。
  3. 在“新建 Tomcat JVM 参数”弹出窗口中,输入-Djava.util.logging.config.file="{TOMCAT_HOME}\conf\logging.properties"Tomcat{TOMCAT_HOME}目录的路径(例如:C:\Tomcat\apache-tomcat-7.0.53\conf\logging.properties)。单击确定。
  4. 在“附加到 JVM 参数”下,再次单击“添加”按钮。
  5. 在“新建 Tomcat JVM 参数”弹出窗口中,输入-Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager. 单击确定。
  6. 在“首选项”窗口中单击“确定”。
  7. 按照上述问题{TOMCAT_HOME}\conf\logging.properties中的说明对文件进行调整。
  8. 下次在 Eclipse 中启动 Tomcat 时,您应该会在 Eclipse 控制台中看到已扫描的 .jar,而不是“为此记录器启用调试日志记录”消息。该信息也应登录{TOMCAT_HOME}\logs\catalina.yyyy-mm-dd.log
于 2014-12-16T21:34:18.053 回答
0

我遇到过同样的问题。这是关于tomcat的。我已经通过删除 tomcat 和添加的 tomcat 解决了这个问题。它现在工作正常。

于 2022-02-25T10:51:30.350 回答
-1

对我来说,我在将 a 部署geoserver WAR到 tomcat 7时遇到了问题

为了解决这个问题,我使用 Java 7 并升级到 Java 8。

这是在 docker 容器下运行的。Tomcat 7.0.75+ Java 8+Geos 2.10.2

于 2017-03-15T00:24:01.287 回答