繁体   English   中英

log4j是否需要JSF jar?

[英]Does log4j requires JSF jars?

我构建了一个REST Web服务(使用JAX-RS,Spring,Spring JMS和ActiveMQ)。 当我将其部署到Tomcat 5.5.23时,我感到惊讶,因为出现了一个例外,要求使用JSF jar?

Error configuring application listener of class org.apache.myfaces.webapp.StartupServletContextListener
java.lang.ClassNotFoundException: org.apache.myfaces.webapp.StartupServletContextListener
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1359)
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1205)
    at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:3712)
    at org.apache.catalina.core.StandardContext.start(StandardContext.java:4216)
    at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:760)

在我在不同的类中添加log4j功能之前,Web服务运行良好,这是我的log4j.properties文件(我将其放在WEB-INF / classes中):

log4j.rootCategory=INFO, S

log4j.logger.com.dappit.Dapper.parser=ERROR
log4j.logger.org.w3c.tidy=FATAL

#------------------------------------------------------------------------------
#
#  The following properties configure the console (stdout) appender.
#  See http://logging.apache.org/log4j/docs/api/index.html for details.
#
#------------------------------------------------------------------------------
log4j.appender.S = org.apache.log4j.ConsoleAppender
log4j.appender.S.layout = org.apache.log4j.PatternLayout
log4j.appender.S.layout.ConversionPattern = %d{yyyy-MM-dd HH:mm:ss} %c{1} [%p] %m%n

任何想法如何解决这个问题?

如果您在web.xml中有对org.apache.myfaces.webapp.StartupServletContextListener的引用,我希望能看到这一点,例如:

<listener>
     <listener-class>org.apache.myfaces.webapp.StartupServletContextListener</listener-class>
</listener>

您可以验证是否没有这样的元素吗?

按提供的条件在maven中进行以下依赖(如果存在):javax javaee-api 6.0 scope:提供

javax.servlet javax.servlet-api 3.0.1范围:提供

听起来像是类加载器层次结构问题。 您应该将log4j放在WAR文件中,而不是将其放在Tomcat的共享库中。

另外,我在Tomcat 6.0中已修复的Tomcat 5.5遇到了一些问题。 您可能要考虑升级。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM