我一直在tomcat 7.30(eclipse juno)上得到这个
至少有一个JAR被扫描用于TLD但尚未包含TLD。启用 调试此记录器的日志记录,以获取完整的JAR列表 扫描但未找到TLD。在期间跳过不需要的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在控制台中打印它们 - 如果您想让控制台记录you must
在服务器选项卡中,双击Tomcat服务器。你会得到一个 屏幕名为Overview。单击“打开启动配置”。点击 “常用”标签。在屏幕的底部,您可以检查 “文件”复选框,然后指定可用于记录您的文件 console(catalina.out)输出。最后,重启Tomcat服务器。
答案 0 :(得分:25)
如果有人想要conf\logging.properties
阅读one must(另请参阅here)将此文件转储到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
到launch configuration的VM参数正在使用。
这可能需要重启或两次(或不重启)但最后我在控制台中看到了鲜红色:
精细:在[file:/ C:/Dropbox/eclipse_workspaces/javaEE/.metadata/.plugins/org.eclipse.wst.server.core/tmp0/wtpwebapps/ted2012/WEB-INF/中找不到TLD文件LIB /的logback经典-1.0.7.jar]。考虑将JAR添加到CATALINA_BASE / conf / catalina.properties文件中的tomcat.util.scan.DefaultJarScanner.jarsToSkip或org.apache.catalina.startup.TldConfig.jarsToSkip属性。 //等
我仍然不知道这个 编辑:来自@Stephan的评论: “每次在JSP文件中进行任何更改时都会出现FINE警告”。FINE
警告出现的时间是什么 - 不会立即出现在tomcat启动
奖励:要使警告消失,请添加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
答案 1 :(得分:11)
(tomcat 8.0.28)以上方法对我不起作用。这是有用的:
将此行添加到{CATALINA-HOME} /conf/logging.properties的末尾:
org.apache.jasper.level = FINEST
关闭服务器(如果已启动)。
打开控制台并运行(如果是Windows):
%CATALINA_HOME%\bin\catalina.bat run
享受日志,例如(再次,对于Windows):
{CATALINA-HOME}/logs/catalina.2015-12-28.log
我放弃了将它与Eclipse启动配置集成,因此请注意,这仅适用于控制台,从Eclipse启动服务器不会产生额外的日志消息。
答案 2 :(得分:6)
<强> Apache的Tomcat的8.0.33 强>
如果要在tomcat中为TLD扫描的jar启用调试日志记录,则必须更改tomcat目录中的/conf/logging.properties文件。
取消注释该行:
org.apache.jasper.servlet.TldScanner.level =精细
FINE 级别用于调试日志。
这适用于普通的tomcat。
如果tomcat在eclipse下运行。然后你必须在eclipse中设置tomcat logging.properties的路径。
现在,扫描TLD的jar文件应显示在日志中。
答案 3 :(得分:4)
(tomcat 7.0.32) 我有问题看到调试消息是在 tomcat / conf / logging.properties 文件中启用TldLocationsCache行。我只能看到一个警告,但不是扫描了什么库。改变每个loglevel尝试一切都没有运气。然后我进入流氓调试模式(=逐个删除,清理安装等),最后找到了原因。
我的webapp有一个自定义的 tomcat / webapps / mywebapp / WEB-INF / classes / logging.properties 文件。我将TldLocationsCache行复制到此文件,最后我可以看到jar文件名。
#要在TldLocationsCache中查看调试消息,请取消注释以下行: org.apache.jasper.compiler.TldLocationsCache.level = FINE
答案 4 :(得分:2)
对于任何尝试使用Sysdeo Eclipse Tomcat plugin进行此操作的人,请尝试以下步骤(我使用Sysdeo Tomcat插件3.3.0,Eclipse Kepler和Tomcat 7.0.53来构建这些步骤):
-Djava.util.logging.config.file="{TOMCAT_HOME}\conf\logging.properties"
,其中{TOMCAT_HOME}
是Tomcat目录的路径(例如:C:\ Tomcat \ apache-tomcat-7.0.53 \ conf \ logging.properties)。单击“确定”。-Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager
。单击“确定”。{TOMCAT_HOME}\conf\logging.properties
文件进行调整
{TOMCAT_HOME}\logs\catalina.yyyy-mm-dd.log
。答案 5 :(得分:0)
对我来说,我在将geoserver WAR
部署到tomcat 7
要修复它,我使用的是Java 7并升级到Java 8.
这是在docker容器下运行的。 Tomcat 7.0.75
+ Java 8
+ Geos 2.10.2