我在tomcat7.30上一直看到这个(月食朱诺)
至少有一个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...
我该怎么做才能看到那些jar?
日志位置:
Tomcat日志位于$ Catalina _HOME\logs\catalina.yyyy-mm-dd.log中。Eclipse在控制台中打印它们-如果您希望控制台以you must的方式记录日志
在servers选项卡中,双击Tomcat服务器。您将看到一个名为Overview的屏幕。单击“Open launch configuration”。单击“Common”选项卡。在屏幕底部,您可以选中“File”复选框,然后指定一个可用于记录控制台输出的文件( Catalina .out)。最后,重新启动Tomcat服务器。
8条答案
按热度按时间crcmnpdw1#
如果想读取
conf\logging.properties
,必须(另请参见here)将此文件转储到Servers\Tomcat v7.0 Server at localhost-config\
文件夹中,然后添加以下行:-Djava.util.logging.config.file="${工作空间位置}\服务器\Tomcat v7.0服务器位于本地主机-配置\logging. properties”-Djava.util.logging.manager=org.apache.juli.类加载器日志管理器
到正在使用的launch configuration的VM参数。
这可能需要重新启动或两个(或不),但最后我看到在控制台中的鲜红色:
精细:在[file:/C:/Dropbox/eclipse_workspaces/javaEE/.metadata/.plugins/org.eclipse.wst.server.core/tmp0/wtpwebapps/ted2012/WEB-INF/lib/logback-classic-1.0.7.jar]中未找到TLD文件。请考虑将该JAR添加到CATALINA_BASE/conf/ www.example.com文件中的tomcat.util.scan.DefaultJarScanner.jarsToSkip或org.apache. Catalina .startup.TldConfig.jarsToSkip属性catalina.properties。//等
我仍然不知道这个
FINE
警告出现的确切时间-在tomcat启动时没有立即出现EDIT:来自@Stephan的评论:* “每次在JSP文件中进行任何更改时,都会出现FINE警告”*。额外好处:要消除警告,请添加
catalina.properties
:ds97pgxw2#
**(tomcat 8.0.28)**以上方法对我不起作用。以下方法起作用:
1.将此行添加到{CATALINA-HOME}/conf/ www.example.com的末尾logging.properties:
1.关闭服务器(如果已启动)。
1.打开控制台并运行(如果是Windows):
1.享受日志,例如(同样,对于Windows):
我放弃了将其与Eclipse启动配置集成,因此请注意,这只能从控制台工作,从Eclipse启动服务器不会产生额外的日志消息。
vql8enpb3#
如果要在Tomcat中为TLD扫描的jar启用调试日志记录,则必须更改Tomcat目录中的/conf/www.example.com文件。logging.properties file in tomcat directory.
取消注解行:
这应该适用于普通的tomcat。
如果tomcat运行在eclipse下,那么你必须在eclipse中设置tomcat的路径www.example.com。logging.properties in eclipse.
1.在eclipse中打开servers视图。停止服务器。双击你的tomcat服务器。
这将打开服务器的概述窗口。
1.单击打开启动配置。这将打开另一个窗口。
1.转到参数选项卡(
second tab
)。转到VM参数部分。1.粘贴这两行:-
这里的CATALINA_HOME是您PC上对应的Tomcat服务器目录。
1.保存更改。重新启动服务器。
现在扫描TLD的jar文件应该显示在日志中。
rseugnpd4#
**(tomcat 7.0.32)**虽然在 *tomcat/conf/ www.example.com * 文件中启用了TldLocationsCache行,但我在查看调试消息时遇到了问题logging.properties。我只能看到一个警告,但看不到扫描了哪些库。更改了每个日志级别,尝试了所有操作,但没有成功。然后我进入了流氓调试模式(=逐个删除、全新安装等),最后找到了原因。
我的网络应用程序有一个定制的 tomcat/webapps/mywebapp/WEB-INF/classes/logging.properties 文件。我复制了TldLocationsCache行到这个文件,最后我可以看到jar文件名。
要查看TldLocationsCache中的调试消息,请取消注解以下行:org.apache.碧玉.编译器.TldLocationsCache.级别=精细
5q4ezhmt5#
对于任何尝试使用Sysdeo Eclipse Tomcat plugin来实现此功能的人,请尝试以下步骤(我使用了Sysdeo Tomcat Plugin 3.3.0、Eclipse Kepler和Tomcat 7.0.53来构建这些步骤):
1.窗口--〉首选项--〉展开树中的Tomcat节点--〉JVM设置
1.在“附加到JVM参数”下,单击“添加”按钮。
1.在“New Tomcat JVM parameter”弹出窗口中,输入
-Djava.util.logging.config.file="{TOMCAT_HOME}\conf\logging.properties"
,其中{TOMCAT_HOME}
是Tomcat目录的路径(例如:)。单击“确定”。1.在“附加到JVM参数”下,再次单击“添加”按钮。
1.在“新建Tomcat JVM参数”弹出窗口中,输入
-Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager
。单击OK。1.在首选项窗口中单击确定。
1.按照question above中的指定对
{TOMCAT_HOME}\conf\logging.properties
文件进行调整。1.下一次在Eclipse中启动Tomcat时,您应该看到Eclipse控制台中列出了扫描的. jar,而不是“Enable debug logging for this logger”消息,该信息也应该记录在
{TOMCAT_HOME}\logs\catalina.yyyy-mm-dd.log
中。yr9zkbsy6#
我的设置:
要在log4j 2中启用JarScanner日志记录:
1.在服务器的命令行中将日志管理器定义为log4j 2 LogManager:
1.在服务器引导类路径中包含所需的log4j 2 jar(“用户条目”部分):
log4j-api-*.jar, log4j-core-*.jar, log4-jul-*.jar
1.将log4j配置文件所在的资源路径包含到服务器引导类路径中(“用户条目”部分)
1.在配置文件中定义记录器级别:
顺便说一句:在vaadin项目中根本不需要TLD扫描。请参见this topic中的详细讨论。对于我的设置,只有www.example.com的编辑catalina.properties达到了预期的效果(意味着根本不需要进行TLD扫描):
*.jar
flow-server-*.jar and vaadin-dev-server-*.jar
必须扫描这两个vaadin库,以便tomcat找到基本的servlet配置(vaadin的
AppShellConfigurator
和VaadinMVCWebAppInitializer
的具体派生。另外,我在eclipse项目的配置中取消了“JavaServer Faces”Facet(但我不确定这是否有效,在eclipse重新启动后,这个复选框再次被激活)。
vyswwuz27#
对我来说,我在将
geoserver WAR
部署到tomcat7时遇到了这个问题为了解决这个问题,我使用了Java7并升级到了Java8。
这是在Docker容器下运行的。
Tomcat 7.0.75
+Java 8
+Geos 2.10.2
hgb9j2n68#
我也有同样的问题。这是关于tomcat的。我已经通过删除tomcat和添加tomcat解决了这个问题。现在它工作正常。