【问题标题】:Why is tomcat looking for JSF classes?为什么 tomcat 寻找 JSF 类?
【发布时间】:2010-09-20 12:37:06
【问题描述】:

我正在尝试启动并运行我的开发环境,但由于某种原因,我在 Tomcat 尝试加载 JSF 类时遇到了问题。我的应用程序不使用 JSF;事实上,我什至还没有将我的应用程序部署到 tomcat。我在启动日志中得到了许多堆栈跟踪,当我尝试打开 http://localhost:8080 时无法加载默认的 tomcat 主页(我只是得到 tomcat 404 页面)。

这是第一个堆栈跟踪的内容:

SEVERE: Error configuring application listener of class com.sun.faces.util.ReflectionUtils$ReflectionUtilsListener
java.lang.ClassNotFoundException: com.sun.faces.util.ReflectionUtils$ReflectionUtilsListener
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1386)
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1232)
    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)
    at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:740)
    at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:544)
    at org.apache.catalina.startup.HostConfig.deployDescriptor(HostConfig.java:626)
    at org.apache.catalina.startup.HostConfig.deployDescriptors(HostConfig.java:553)
    at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:488)
    at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1150)
    at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:311)
    at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:120)
    at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1022)
    at org.apache.catalina.core.StandardHost.start(StandardHost.java:736)
    at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1014)
    at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443)
    at org.apache.catalina.core.StandardService.start(StandardService.java:448)
    at org.apache.catalina.core.StandardServer.start(StandardServer.java:700)
    at org.apache.catalina.startup.Catalina.start(Catalina.java:552)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:324)
    at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:295)
    at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:433)

我还获得了以下其他类的类似堆栈跟踪:

com.sun.faces.config.ConfigureListener
com.sun.faces.application.WebappLifecycleListener

我不确定这是否相关,但我在 Mas OS 10.5 上运行安装了 1.4 兼容包和 Java 1.4.2 的 Tomcat 5.5.27。

感谢您的任何想法!

编辑:似乎 Tomcat 附带的每个默认应用程序(主机管理器、平衡器、tomcat-docs、jsp-examples 等)都依赖于这些 JSF 类。我删除了这些默认应用程序,一切似乎都正常。

所以,我现在的问题是: 为什么 tomcat 附带的应用程序不包含其依赖项,我需要做什么才能使这些默认应用程序正常工作?

【问题讨论】:

  • 我遇到了类似的错误...为什么 Tomcat 正在寻找 Faces?

标签: java tomcat jsf


【解决方案1】:

你的 tomcat 安装是完全干净的,还是你继承的?

检查 webapps 是否包含可能引用 JSF 类的现有战争/目录?

更新:啊——我知道你发现是这种情况:-)

不确定为什么 tomcat 不包含所有依赖项。也许您下载的是开发者版本而不是稳定版本?

【讨论】:

  • 不,这是前几天在 tomcat 网站上发布的 5.5 的主要版本。由于我现在可以运行我的应用程序,所以我并不太担心,但我想知道发生了什么。
【解决方案2】:

您可能需要清理 Tomcat 工作目录。

【讨论】:

    猜你喜欢
    • 2012-05-22
    • 2012-10-27
    • 2011-11-03
    • 1970-01-01
    • 2015-05-08
    • 2017-03-04
    • 1970-01-01
    • 1970-01-01
    • 2015-05-25
    相关资源
    最近更新 更多