【问题标题】:java.lang.NoClassDefFoundError: org/ajax4jsf/resource/InternetResourceBuilderjava.lang.NoClassDefFoundError: org/ajax4jsf/resource/InternetResourceBuilder
【发布时间】:2011-07-27 00:45:05
【问题描述】:

我的应用程序使用 JSF 2 和 Richfaces 3.3.3 和 mojarra 2.0.2 在 Glassfish 3.1 上运行良好,但每当我将它移植到 Tomcat 7.0.10 上时,每次遇到一个或另一个问题。 一开始是无法检测到 jsf_core.tld ,然后是一些 JSF 渲染问题,最后是这个问题。 最后我找到了一些我在这里提到的,我找不到解决方法。

Mar 31, 2011 8:57:52 PM org.apache.catalina.core.StandardContext listenerStart
SEVERE: Exception sending context initialized event to listener instance of class com.sun.faces.config.ConfigureListener
java.lang.RuntimeException: com.sun.faces.config.ConfigurationException: CONFIGURATION FAILED! org/ajax4jsf/resource/InternetResourceBuilder
        at com.sun.faces.config.ConfigureListener.contextInitialized(ConfigureListener.java:294)
        at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4651)
        at org.apache.catalina.core.StandardContext$1.call(StandardContext.java:5154)
        at org.apache.catalina.core.StandardContext$1.call(StandardContext.java:5149)
        at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
        at java.util.concurrent.FutureTask.run(FutureTask.java:138)
        at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:885)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907)
        at java.lang.Thread.run(Thread.java:619)
Caused by: com.sun.faces.config.ConfigurationException: CONFIGURATION FAILED! org/ajax4jsf/resource/InternetResourceBuilder
        at com.sun.faces.config.ConfigManager.initialize(ConfigManager.java:357)
        at com.sun.faces.config.ConfigureListener.contextInitialized(ConfigureListener.java:226)
        ... 8 more
Caused by: java.lang.NoClassDefFoundError: org/ajax4jsf/resource/InternetResourceBuilder
        at org.ajax4jsf.renderkit.ChameleonRenderKitFactory.<init>(ChameleonRenderKitFactory.java:62)
        at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
        at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
        at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
        at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
        at javax.faces.FactoryFinder.getImplGivenPreviousImpl(FactoryFinder.java:586)
        at javax.faces.FactoryFinder.getImplementationInstance(FactoryFinder.java:472)
        at javax.faces.FactoryFinder.access$400(FactoryFinder.java:139)
        at javax.faces.FactoryFinder$FactoryManager.getFactory(FactoryFinder.java:796)
        at javax.faces.FactoryFinder.getFactory(FactoryFinder.java:306)
        at com.sun.faces.config.processor.FactoryConfigProcessor.verifyFactoriesExist(FactoryConfigProcessor.java:294)
        at com.sun.faces.config.processor.FactoryConfigProcessor.process(FactoryConfigProcessor.java:213)
        at com.sun.faces.config.ConfigManager.initialize(ConfigManager.java:338)
        ... 9 more

【问题讨论】:

    标签: jsf tomcat jsf-2 richfaces


    【解决方案1】:

    您有 RichFaces impl JAR 文件,但在运行时类路径中没有 RichFaces API JAR。

    堆栈跟踪证明了这一点:

    Caused by: java.lang.NoClassDefFoundError: org/ajax4jsf/resource/InternetResourceBuilder
        at org.ajax4jsf.renderkit.ChameleonRenderKitFactory.<init>(ChameleonRenderKitFactory.java:62)
    

    at org.ajax4jsf.renderkit.ChameleonRenderKitFactory 行表明这个特定的类已成功加载并执行(否则它根本不会在堆栈跟踪中显示为at xxx)。这个类是 RichFaces impl JAR 文件的一部分。 InternetResourceBuilder 又是 RichFaces API JAR 文件的一部分。这显然在运行时类路径中缺失。至少,这正是异常告诉我们的。

    【讨论】:

      【解决方案2】:

      从异常看来,无法找到 Richfaces。将 jar 放入您的类路径(对于 Tomcat WEB-INF/lib 或 WEB-INF/classes),然后重试。

      【讨论】:

      • 我坚信所有这些 jar 都在我的类路径中(richfaces-impl-jsf2.3.3.3.Final.jar,richfaces-ui-3.3.3.Final.jar,richfaces-api- 3.3.3.Final.jar),然后这些问题就来了。 (我已经潜入 WAR 并在 web-inf/lib 文件夹中找到了所有这些 jar)
      • 你也是在tomcat的deployment文件夹里找到的吗?
      猜你喜欢
      • 2013-04-15
      • 2018-10-06
      • 1970-01-01
      • 1970-01-01
      • 2015-06-02
      • 2013-01-10
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多