NoClassDefFoundError的例外,当我使用Omnifaces ::阿贾克斯:: update()方法 [英] NoClassDefFoundError Exception when I use Omnifaces::Ajax::update() method

查看:168
本文介绍了NoClassDefFoundError的例外,当我使用Omnifaces ::阿贾克斯:: update()方法的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

当我尝试运行Omnifaces库有关Ajax :: update()方法将样品code,我得到了NoClassDefFoundError的例外;

When I try to run the sample code of Omnifaces library about Ajax::update() method, i get the NoClassDefFoundError exception;

我想,它涉及有关客户端ID或组件的标识,但我不知道如何避免此异常。

I suppose that it concerns about the client-ids or ids of components, but I do not know how to avoid this exception.

welcome.xhtml 页是以下

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml"
    xmlns:ui="http://java.sun.com/jsf/facelets"
    xmlns:h="http://java.sun.com/jsf/html"
    xmlns:f="http://java.sun.com/jsf/core">

    <body>

        <h3>Update a component programmatically</h3>
        <h:form id="form">
            <h:commandButton value="submit" action="#{ajaxBean.update}">
                <f:ajax />
            </h:commandButton>
            <p>
                It's now
                <h:outputText id="timestamp" value="#{now.toString}" />
            </p>
        </h:form>

        <hr />

        <hr />

        <h3>Execute a callback script programmatically</h3>
        <h:form>
            <h:commandButton value="submit" action="#{ajaxBean.callback}">
                <f:ajax />
            </h:commandButton>
        </h:form>

        <hr />

        <h3>Add arguments to the JavaScript scope</h3>
        <h:form>
            <h:commandButton value="submit" onclick="$('#showData').empty()"
                action="#{ajaxBean.argument}">
                <f:ajax />
            </h:commandButton>
        </h:form>
        <ul id="showData"></ul>
        <h:outputScript>
             function showData() {
                 var data = OmniFaces.Ajax.data;
                 var $showData = $("#showData");

                 $.each(data, function(key, value) {
                    $("&lt;li&gt;").text(key + "=" + JSON.stringify(value)).appendTo($showData);
                });
             }
         </h:outputScript>

</body>
</html>

和在 AjaxBean.java bean是以下

package com.tutorial;

import java.util.Arrays;
import java.util.Date;
import java.util.HashMap;
import java.util.Map;

import javax.faces.component.UIData;

import org.omnifaces.util.Ajax;

public class AjaxBean {

    public void update() {
        Ajax.update("form:timestamp");
    }

    public void callback() {
        Ajax.oncomplete("alert('Hi, I am the oncomplete callback script!')");
    }

    public void argument() {
        Ajax.data("foo", "bar");
        Ajax.data("first", "one", "second", "two");
        Map<String, Object> data = new HashMap<>();
        data.put("bool", true);
        data.put("number", 1.2F);
        data.put("date", new Date());
        data.put("array", new Integer[] { 1, 2, 3, 4, 5 });
        data.put("list", Arrays.asList("one", "two", "three"));
        Ajax.data(data);
        Ajax.oncomplete("showData()");
    }

}

该堆栈跟踪是:

The stacktrace is:

11:02:44,289 SEVERE [javax.enterprise.resource.webcontainer.jsf.application] java.lang.NoClassDefFoundError: org/omnifaces/util/Ajax: javax.faces.el.EvaluationException: java.lang.NoClassDefFoundError: org/omnifaces/util/Ajax
    at javax.faces.component.MethodBindingMethodExpressionAdapter.invoke(MethodBindingMethodExpressionAdapter.java:98) [:2.0.3-]
    at com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:98) [:2.0.3-]
    at javax.faces.component.UICommand.broadcast(UICommand.java:311) [:2.0.3-]
    at javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:781) [:2.0.3-]
    at javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:1246) [:2.0.3-]
    at com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:77) [:2.0.3-]
    at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:97) [:2.0.3-]
    at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:114) [:2.0.3-]
    at javax.faces.webapp.FacesServlet.service(FacesServlet.java:308) [:2.0.3-]
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:324) [:6.1.0.Final]
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:242) [:6.1.0.Final]
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:275) [:6.1.0.Final]
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:161) [:6.1.0.Final]
    at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:181) [:6.1.0.Final]
    at org.jboss.modcluster.catalina.CatalinaContext$RequestListenerValve.event(CatalinaContext.java:285) [:1.1.0.Final]
    at org.jboss.modcluster.catalina.CatalinaContext$RequestListenerValve.invoke(CatalinaContext.java:261) [:1.1.0.Final]
    at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:88) [:6.1.0.Final]
    at org.jboss.web.tomcat.security.SecurityContextEstablishmentValve.invoke(SecurityContextEstablishmentValve.java:100) [:6.1.0.Final]
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:159) [:6.1.0.Final]
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) [:6.1.0.Final]
    at org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:158) [:6.1.0.Final]
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) [:6.1.0.Final]
    at org.jboss.web.tomcat.service.request.ActiveRequestResponseCacheValve.invoke(ActiveRequestResponseCacheValve.java:53) [:6.1.0.Final]
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:362) [:6.1.0.Final]
    at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:877) [:6.1.0.Final]
    at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:654) [:6.1.0.Final]
    at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:951) [:6.1.0.Final]
    at java.lang.Thread.run(Thread.java:744) [:1.7.0_45]
Caused by: java.lang.NoClassDefFoundError: org/omnifaces/util/Ajax
    at com.tutorial.AjaxBean.update(AjaxBean.java:16) [:]
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) [:1.7.0_45]
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) [:1.7.0_45]
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) [:1.7.0_45]
    at java.lang.reflect.Method.invoke(Method.java:606) [:1.7.0_45]
    at org.apache.el.parser.AstValue.invoke(AstValue.java:196) [:6.1.0.Final]
    at org.apache.el.MethodExpressionImpl.invoke(MethodExpressionImpl.java:276) [:6.1.0.Final]
    at com.sun.faces.facelets.el.TagMethodExpression.invoke(TagMethodExpression.java:102) [:2.0.3-]
    at javax.faces.component.MethodBindingMethodExpressionAdapter.invoke(MethodBindingMethodExpressionAdapter.java:84) [:2.0.3-]
    ... 27 more

11:02:44,307 WARNING [javax.enterprise.resource.webcontainer.jsf.lifecycle] #{ajaxBean.update}: java.lang.NoClassDefFoundError: org/omnifaces/util/Ajax: javax.faces.FacesException: #{ajaxBean.update}: java.lang.NoClassDefFoundError: org/omnifaces/util/Ajax
    at com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:114) [:2.0.3-]
    at javax.faces.component.UICommand.broadcast(UICommand.java:311) [:2.0.3-]
    at javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:781) [:2.0.3-]
    at javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:1246) [:2.0.3-]
    at com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:77) [:2.0.3-]
    at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:97) [:2.0.3-]
    at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:114) [:2.0.3-]
    at javax.faces.webapp.FacesServlet.service(FacesServlet.java:308) [:2.0.3-]
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:324) [:6.1.0.Final]
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:242) [:6.1.0.Final]
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:275) [:6.1.0.Final]
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:161) [:6.1.0.Final]
    at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:181) [:6.1.0.Final]
    at org.jboss.modcluster.catalina.CatalinaContext$RequestListenerValve.event(CatalinaContext.java:285) [:1.1.0.Final]
    at org.jboss.modcluster.catalina.CatalinaContext$RequestListenerValve.invoke(CatalinaContext.java:261) [:1.1.0.Final]
    at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:88) [:6.1.0.Final]
    at org.jboss.web.tomcat.security.SecurityContextEstablishmentValve.invoke(SecurityContextEstablishmentValve.java:100) [:6.1.0.Final]
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:159) [:6.1.0.Final]
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) [:6.1.0.Final]
    at org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:158) [:6.1.0.Final]
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) [:6.1.0.Final]
    at org.jboss.web.tomcat.service.request.ActiveRequestResponseCacheValve.invoke(ActiveRequestResponseCacheValve.java:53) [:6.1.0.Final]
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:362) [:6.1.0.Final]
    at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:877) [:6.1.0.Final]
    at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:654) [:6.1.0.Final]
    at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:951) [:6.1.0.Final]
    at java.lang.Thread.run(Thread.java:744) [:1.7.0_45]
Caused by: javax.faces.el.EvaluationException: java.lang.NoClassDefFoundError: org/omnifaces/util/Ajax
    at javax.faces.component.MethodBindingMethodExpressionAdapter.invoke(MethodBindingMethodExpressionAdapter.java:98) [:2.0.3-]
    at com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:98) [:2.0.3-]
    ... 26 more
Caused by: java.lang.NoClassDefFoundError: org/omnifaces/util/Ajax
    at com.tutorial.AjaxBean.update(AjaxBean.java:16) [:]
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) [:1.7.0_45]
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) [:1.7.0_45]
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) [:1.7.0_45]
    at java.lang.reflect.Method.invoke(Method.java:606) [:1.7.0_45]
    at org.apache.el.parser.AstValue.invoke(AstValue.java:196) [:6.1.0.Final]
    at org.apache.el.MethodExpressionImpl.invoke(MethodExpressionImpl.java:276) [:6.1.0.Final]
    at com.sun.faces.facelets.el.TagMethodExpression.invoke(TagMethodExpression.java:102) [:2.0.3-]
    at javax.faces.component.MethodBindingMethodExpressionAdapter.invoke(MethodBindingMethodExpressionAdapter.java:84) [:2.0.3-]
    ... 27 more

11:02:44,307 ERROR [STDERR] javax.faces.FacesException: #{ajaxBean.update}: java.lang.NoClassDefFoundError: org/omnifaces/util/Ajax

11:02:44,307 ERROR [STDERR]     at com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:85)

11:02:44,307 ERROR [STDERR]     at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:97)

11:02:44,307 ERROR [STDERR]     at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:114)

11:02:44,307 ERROR [STDERR]     at javax.faces.webapp.FacesServlet.service(FacesServlet.java:308)

11:02:44,307 ERROR [STDERR]     at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:324)

11:02:44,307 ERROR [STDERR]     at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:242)

11:02:44,307 ERROR [STDERR]     at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:275)

11:02:44,307 ERROR [STDERR]     at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:161)

11:02:44,307 ERROR [STDERR]     at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:181)

11:02:44,307 ERROR [STDERR]     at org.jboss.modcluster.catalina.CatalinaContext$RequestListenerValve.event(CatalinaContext.java:285)

11:02:44,307 ERROR [STDERR]     at org.jboss.modcluster.catalina.CatalinaContext$RequestListenerValve.invoke(CatalinaContext.java:261)

11:02:44,307 ERROR [STDERR]     at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:88)

11:02:44,307 ERROR [STDERR]     at org.jboss.web.tomcat.security.SecurityContextEstablishmentValve.invoke(SecurityContextEstablishmentValve.java:100)

11:02:44,307 ERROR [STDERR]     at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:159)

11:02:44,322 ERROR [STDERR]     at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)

11:02:44,322 ERROR [STDERR]     at org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:158)

11:02:44,322 ERROR [STDERR]     at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)

11:02:44,322 ERROR [STDERR]     at org.jboss.web.tomcat.service.request.ActiveRequestResponseCacheValve.invoke(ActiveRequestResponseCacheValve.java:53)

11:02:44,322 ERROR [STDERR]     at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:362)

11:02:44,322 ERROR [STDERR]     at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:877)

11:02:44,322 ERROR [STDERR]     at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:654)

11:02:44,322 ERROR [STDERR]     at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:951)

11:02:44,322 ERROR [STDERR]     at java.lang.Thread.run(Thread.java:744)

11:02:44,322 ERROR [STDERR] Caused by: javax.faces.FacesException: #{ajaxBean.update}: java.lang.NoClassDefFoundError: org/omnifaces/util/Ajax

11:02:44,322 ERROR [STDERR]     at com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:114)

11:02:44,322 ERROR [STDERR]     at javax.faces.component.UICommand.broadcast(UICommand.java:311)

11:02:44,322 ERROR [STDERR]     at javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:781)

11:02:44,322 ERROR [STDERR]     at javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:1246)

11:02:44,322 ERROR [STDERR]     at com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:77)

11:02:44,322 ERROR [STDERR]     ... 22 more

11:02:44,322 ERROR [STDERR] Caused by: javax.faces.el.EvaluationException: java.lang.NoClassDefFoundError: org/omnifaces/util/Ajax

11:02:44,322 ERROR [STDERR]     at javax.faces.component.MethodBindingMethodExpressionAdapter.invoke(MethodBindingMethodExpressionAdapter.java:98)

11:02:44,322 ERROR [STDERR]     at com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:98)

11:02:44,322 ERROR [STDERR]     ... 26 more

11:02:44,322 ERROR [STDERR] Caused by: java.lang.NoClassDefFoundError: org/omnifaces/util/Ajax

11:02:44,322 ERROR [STDERR]     at com.tutorial.AjaxBean.update(AjaxBean.java:16)

11:02:44,322 ERROR [STDERR]     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

11:02:44,322 ERROR [STDERR]     at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)

11:02:44,322 ERROR [STDERR]     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

11:02:44,338 ERROR [STDERR]     at java.lang.reflect.Method.invoke(Method.java:606)

11:02:44,338 ERROR [STDERR]     at org.apache.el.parser.AstValue.invoke(AstValue.java:196)

11:02:44,338 ERROR [STDERR]     at org.apache.el.MethodExpressionImpl.invoke(MethodExpressionImpl.java:276)

11:02:44,338 ERROR [STDERR]     at com.sun.faces.facelets.el.TagMethodExpression.invoke(TagMethodExpression.java:102)

11:02:44,338 ERROR [STDERR]     at javax.faces.component.MethodBindingMethodExpressionAdapter.invoke(MethodBindingMethodExpressionAdapter.java:84)

11:02:44,338 ERROR [STDERR]     ... 27 more

任何帮助将是AP preciated。

Any help would be appreciated.

感谢。

推荐答案

而不是采取在$ C $一个深沉的样子c您发布,NoClassDefFound异常通常通过连接问题造成的,无关的实际工作code写的。请确保您在需要的类路径中的一切包括

while not taking a deep look in the code you posted, NoClassDefFound exceptions are usually caused by linking problems and are unrelated to actuall code written. make sure you include in your classpath everything needed

这篇关于NoClassDefFoundError的例外,当我使用Omnifaces ::阿贾克斯:: update()方法的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆