至less有一个JAR扫描了TLD,但没有包含顶级域名(TLD)
我不断得到这个在tomcat 7.30(eclipse juno)
至less有一个JAR扫描了TLD,但没有包含顶级域名(TLD)。 为此logging器启用debugging日志logging,以获取已扫描的JAR的完整列表,但未findTLD。 在扫描过程中跳过不需要的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...
At least one JAR was scanned for TLDs yet contained no TLDs. Enable debug logging...
那么我该怎么做才能看到这些jar子?
日志位置:
tomcat日志位于$ CATALINA_HOME \ logs \ catalina.yyyy-mm-dd.log中。 Eclipse在控制台中打印它们 – 如果你想让你的控制台login, 你必须
在服务器选项卡中,双击Tomcat服务器。 您将看到一个名为Overview的屏幕。 点击“打开启动configuration”。 点击“Common”标签。 在屏幕底部,您可以选中“File”checkbox,然后指定一个可用于logging您的控制台(catalina.out)输出的文件。 最后,重新启动Tomcat服务器。
如果想让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
到正在使用的启动configuration的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属性。 //等等
我仍然不知道这个 编辑 :从@Stephan评论: “每次在JSP文件中完成任何更改时,出现FINE警告” 。 FINE
警告是什么时候出现的 – 在tomcat启动时不会立即出现
奖励:使警告消失joincatalina.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
(tomcat 8.0.28)以上方法对我不起作用。 这是什么工作:
-
将此行添加到您的{CATALINA-HOME} /conf/logging.properties的末尾:
org.apache.jasper.level = FINEST
-
closures服务器(如果启动)。
-
打开控制台并运行(在Windows的情况下):
%CATALINA_HOME%\bin\catalina.bat run
-
享受日志,例如(再次,Windows):
{CATALINA-HOME}/logs/catalina.2015-12-28.log
我放弃了将其与Eclipse启动configuration集成,所以要注意,这只能从控制台运行,从Eclipse启动服务器不会产生额外的日志消息。
Apache的Tomcat的8.0.33
如果要在Tomcat中为TLD扫描的jar启用debugging日志logging,则必须更改tomcat目录中的/conf/logging.properties文件。
取消注释:
org.apache.jasper.servlet.TldScanner.level = FINE
FINE级别用于debugging日志。
这应该适用于普通的tomcat。
如果tomcat在eclipse下运行。 然后你必须在eclipse中设置tomcat logging.properties的path。
- 在eclipse中打开服务器视图。停止服务器。双击你的tomcat服务器。
这将打开服务器的“ 概览”窗口。 - 点击打开启动configuration 。这将打开另一个窗口。
- 转到参数选项卡( 第二个选项卡 )。转到VM参数部分。
- 将这两行粘贴在那里: –
-Djava.util.logging.config.file = “{CATALINA_HOME} \ CONF \ logging.properties”
-Djava.util.logging.manager = org.apache.juli.ClassLoaderLogManager
这里CATALINA_HOME是你的PC的相应的tomcat服务器目录。 - 保存更改。重新启动服务器。
现在,扫描TLD的jar文件应显示在日志中。
(tomcat 7.0.32)虽然在tomcat / conf / logging.properties文件中启用了TldLocationsCache行,但遇到debugging消息时遇到问题。 我所能看到的只是一个警告,而不是扫描库。 改变了每一个loglevel尝试一切都没有运气。 然后我去stream氓debugging模式(=逐个删除,干净安装等),最后find一个原因。
我的webapp有一个定制的tomcat / webapps / mywebapp / WEB-INF / classes / logging.properties文件。 我复制了TldLocationsCache行到这个文件,最后我可以看到jar文件名。
#要查看TldLocationsCache中的debugging消息,请取消注释以下行:org.apache.jasper.compiler.TldLocationsCache.level = FINE
对于任何想使用Sysdeo Eclipse Tomcat插件工作的人 ,请尝试以下步骤(我使用了Sysdeo Tomcat Plugin 3.3.0,Eclipse Kepler和Tomcat 7.0.53来构build这些步骤):
- 窗口 – >首选项 – >展开树中的Tomcat节点 – > JVM设置
- 在“附加到JVM参数”下,单击“添加”button。
- 在“New Tomcat JVM参数”popup窗口中,input
-Djava.util.logging.config.file="{TOMCAT_HOME}\conf\logging.properties"
,其中{TOMCAT_HOME}
是Tomcat目录的path(例如:C: \ Tomcat的\ Apache的Tomcat的7.0.53 \的conf \ logging.properties)。 点击OK。 - 在“附加到JVM参数”下,再次单击“添加”button。
- 在“New Tomcat JVM参数”popup框中,input
-Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager
。 点击OK。 - 在首选项窗口中单击确定。
- 根据上面的问题指定对
{TOMCAT_HOME}\conf\logging.properties
文件进行调整。 - 下一次在Eclipse中启动Tomcat时,应该会看到Eclipse控制台中列出的已扫描的.jars消息,而不是“为此logging器启用debugging日志logging”消息。 这些信息还应logging在
{TOMCAT_HOME}\logs\catalina.yyyy-mm-dd.log
。
对我来说,当我在tomcat 7中部署一个geoserver WAR
时候遇到了这个问题
为了解决这个问题,我在Java 7上升级到Java 8。
这是在docker容器下运行的。 Tomcat 7.0.75
+ Java 8
+ Geos 2.10.2