当我启动Tomcat时,我收到以下错误:
Jun 10, 2010 5:17:25 PM org.apache.catalina.core.StandardContext start
SEVERE: Error filterStart
Jun 10, 2010 5:17:25 PM org.apache.catalina.core.StandardContext start
SEVERE: Context [/mywebapplication] startup failed due to previous errors
Tomcat的日志不包含堆栈跟踪似乎很奇怪。有人建议如何增加Tomcat中的日志记录来获取像这样的错误的堆栈跟踪吗?
答案 0 :(得分:136)
检查Tomcat创建的localhost_yyyy_mm_dd.log
OR localhost.yyyy-mm-dd.log
日志,这些日志通常存储该类型的信息。我不希望将完整的堆栈跟踪转储到标准输出。
答案 1 :(得分:80)
在WEB-INF / classes中创建一个名为logging.properties的文件,其中包含以下内容:
org.apache.catalina.core.ContainerBase.[Catalina].level = INFO
org.apache.catalina.core.ContainerBase.[Catalina].handlers = java.util.logging.ConsoleHandler
答案 2 :(得分:21)
Tomcat会记录堆栈跟踪,但是当从IDE启动tomcat时,并不总是清楚日志文件的位置。当我从IntelliJ启动时,CATALINA_BASE
设置为${home}/.IntelliJIdea10/system/tomcat/Unnamed_r6-idea
,日志文件位于[CATALINA_BASE]/logs
。
要查看日志,请找到日志文件,或编辑[CATALINA_HOME]/conf/logging.properties
以将tomcat logger输出定向到控制台。下面我为默认的tomcat配置添加了第二个处理程序:
org.apache.catalina.core.ContainerBase.[Catalina].[localhost].level = INFO
org.apache.catalina.core.ContainerBase.[Catalina].[localhost].handlers = 2localhost.org.apache.juli.FileHandler, java.util.logging.ConsoleHandler
现在,完整的堆栈跟踪出现在IntelliJ输出中:
Dec 27, 2011 12:02:45 PM org.apache.catalina.core.StandardContext filterStart
SEVERE: Exception starting filter filterChainProxy
org.springframework.beans.factory.NoSuchBeanDefinitionException: No bean named 'filterChainProxy' is defined at
org.springframework.beans.factory.support.DefaultListableBeanFactory.getBeanDefinition(DefaultListableBeanFactory.java:529)
. . .
答案 3 :(得分:9)
您需要复制文件
cp /path/to/solr/example/lib/ext/* /path/to/tomcat/lib
cp /path/to/solr/example/resources/* /path/to/tomcat/lib // or inside extracted solr
然后重新启动 tomcat
答案 4 :(得分:5)
也许您的应用程序使用与Tomcat不同的JRE进行编译。
检查服务器上的java -version
,然后使用相同版本编译代码。
我有错误,因为我的Eclipse标准JRE是1.6而Tomcat使用1.5 - 这不起作用。
答案 5 :(得分:2)
在CentOS 6和Solr 4.4.0中
我必须编译一些lib文件以解决此错误
cp ~/solr-4.4.0/example/lib/ext/* /usr/share/tomcat6/lib/
答案 6 :(得分:2)
通常在localhost中有关于该问题的信息。[date] .log。 但有时候这个日志里什么都没有。如果项目有混乱的配置(几个开发人员长时间工作并且每个人都添加了自己的东西),就会发生这种情况。 我在日志中没有任何信息时遇到了这个问题。相当快速和稳健的方法:
尝试从web.xml中删除任何可能导致任何问题的内容。您甚至可以删除除标记之外的所如果仍然无法部署应用程序 - 请继续。
从WEB-INF / classes中删除每个* .xml描述符。如果无法部署应用程序 - 请继续。
删除您在战争中可以找到的所有日志记录配置(logging.properties,log4j.properties)。尝试部署。在这一步,我得到了更多信息,但部署仍然失败。
在搜索此错误后,我发现该项目包含旧版本的xerces,它与Tomcat的版本(更新版本)发生冲突,并且没有部署应用程序。在网络应用程序中升级xerces后,一切都很顺利。
答案 7 :(得分:1)
为Tomcat设置log4j日志记录非常简单。以下引自http://tomcat.apache.org/tomcat-5.5-doc/logging.html:
使用以下内容创建名为log4j.properties的文件,并将其保存到common / classes中。
log4j.rootLogger=DEBUG, R
log4j.appender.R=org.apache.log4j.RollingFileAppender
log4j.appender.R.File=${catalina.home}/logs/tomcat.log
log4j.appender.R.MaxFileSize=10MB
log4j.appender.R.MaxBackupIndex=10
log4j.appender.R.layout=org.apache.log4j.PatternLayout
log4j.appender.R.layout.ConversionPattern=%p %t %c - %m%n
下载Log4J(v1.2或更高版本)并将log4j jar放在$ CATALINA_HOME / common / lib中。
答案 8 :(得分:1)
如果有人收到错误的话 严重:错误filterStart 2013年4月29日下午4:49:20 org.apache.catalina.core.StandardContext startInternal 严重:由于先前的错误,上下文[/ TraceMW]启动失败
然后请检查您的tomcat / lib目录是否包含 cors-filter-1.5.jar 。 如果你点了,你将得到上述错误,你的申请将无法使用。
所以,我只是设法从其他tomcat文件夹中复制jar文件,后来我没有得到上述错误。
答案 9 :(得分:1)
我也遇到了同样的错误,在解决这个问题上遇到了很多困难。在搜索Google时花了一点时间,发现以下解决方案,我的问题得到了解决。
问题是由于在部署路径中缺少Struts2库。大多数人可能会将库用于编译,并且往往忘记为运行时附加所需的库。所以我在Web部署程序集中添加了相同的库,问题是OFF。
答案 10 :(得分:1)
我遇到了同样的问题,一旦在tomcat中部署了应用程序就无法启动它。但是,一旦我将Struts的jar集复制到CATALINA_HOME \ lib(Tomcat dir)目录中,它就会被解析。您不需要在WEB_INF \ lib中拥有这些jar,但是您需要在Build Path中拥有它们。
公地文件上传-1.2.1.jar
公地-IO-1.3.2.jar
的freemarker-2.3.16.jar
了Javassist-3.11.0.GA.jar
的struts2-公约-插件-2.2.1.jar
struts2的核 - 2.2.1.jar
XWork的核 - 2.2.1.jar
答案 11 :(得分:0)
只是想在花费最后一小时才能解决几乎相同的问题。我的解决方案是,我们的应用程序.jar在某种程度上已损坏,因此从我们的开发服务器放置jar提供了修复。
答案 12 :(得分:0)
我有类似的问题。雷纳托的小费对我有用。我使用旧版本的java类文件(在WEB-INF / classes文件夹下),问题就消失了。所以,应该是编译器版本不匹配。
答案 13 :(得分:0)
这对我有用:只需删除所有库,然后编译并运行。它会提示你的项目确认错误。应用库后重新运行项目。
答案 14 :(得分:0)
通常,服务器JDK版本将低于部署的应用程序(使用更高版本的jdk构建)
答案 15 :(得分:-1)
运行以下命令以显示终端上的catalina日志---
sh start-camunda.sh; tail -f server/apache-tomcat-8.0.24/logs/catalina.out