2016-05-30 37 views
1

を見つけていない私たちは現在、のJBoss EAP 6.4.6、に私たちののGlassFish 3.2.1.x Webアプリケーションを移植していますしかし、我々は含まれているページ(短縮)とかなり奇妙な例外を取得している:javax.faces.FacesException:式のエラー:名前付きオブジェクト:org.omnifaces.component.validator.ValidateMultiple

<h:panelGroup id="absence-panel" 
       layout="block" 
       styleClass="bx-accordion-correction"> 

    <h:panelGroup layout="block" 
        styleClass="left-button-panel"> 
     <p:commandButton id="add-absence-btn" 
         icon="ui-icon ui-icon-document" 
         value="#{msg['common.action.add.label']}" 
         actionListener="#{employeeAbsenceManager.add}" 
         immediate="true" 
         process="@this" 
         update="absence-panel 
           :content-form:employee-navigation 
           :content-form:msgs 
           :content-form:growl" 
         oncomplete="scrollContentToSubPanel(this);" 
         disabled="#{employeeManager.readOnly or employeeAbsenceManager.mode eq 'ADD' or employeeAbsenceManager.mode eq 'EDIT'}" 
         styleClass="bx-first-button"> 
      <p:resetInput target=":content-form:accor-panel:absence-subpanel" /> 
     </p:commandButton> 
    </h:panelGroup> 

    <p:blockUI block="absence-dir-list" 
       blocked="#{employeeAbsenceManager.mode eq 'ADD' or employeeAbsenceManager.mode eq 'EDIT'}" /> 

    <p:dataTable id="absence-dir-list" 
       value="#{employeeAbsenceManager.dataModel}" 
       var="abs" 
       selection="#{employeeAbsenceManager.selectedEntity}" 
       selectionMode="single" 
       resizableColumns="true" 
       rowKey="#{abs.timestampId}" 
       rowStyleClass="#{abs eq employeeAbsenceManager.selectedEntity ? 'ui-state-highlight' : null}" 
       paginator="true" 
       paginatorPosition="bottom" 
       rows="10" 
       rowsPerPageTemplate="10,20" 
       paginatorTemplate="{CurrentPageReport} {FirstPageLink} {PreviousPageLink} {PageLinks} {NextPageLink} {LastPageLink} {RowsPerPageDropdown}" 
       emptyMessage="#{employeeAbsenceManager.activeOnly ? msg['entity.absence.list.emptyMessageActive'] : msg['entity.absence.list.emptyMessage']}" 
       styleClass="bx-datatable-header-hidden mt-10px datatable-content-scrolling max-width-1300"> 
     ... 
    </p:dataTable> 

    <ui:include src="absenceSubPanel.xhtml" /> 

    <h:panelGroup id="absences-validator"> 
     <o:validateMultiple components="absence-type absence-begin-date #{employeeAbsenceManager.uniqueConstraintWithRemarks ? 'absence-remarks' : ''}" 
          validator="#{employeeAbsenceManager.validateUniqueAbsences}" 
          message="#{employeeAbsenceManager.uniqueConstraintWithRemarks ? 
             msg['entity.absence.notUniqueMessageWithRemarks'] : 
             msg['entity.absence.notUniqueMessageWithoutRemarks']}" /> 
    </h:panelGroup> 
</h:panelGroup> 

<ui:include src="absenceSubPanel.xhtml" /><o:validateMultiple>のコンポーネントが含まれています。これは、休暇(例えば、休暇、病気、従業員のための教育措置)のサブパネルです。

備考は、顧客の設定に応じて、の有無にかかわらず欠席しているかどうかに応じて条件付きです。備考。

我々は、次の例外を取得:

16:07:15,727 ERROR [org.apache.catalina.core.ContainerBase.[jboss.web].[default-host].[/cmc-jboss].[Faces Servlet]] (http-/127.0.0.1:8443-6) JBWEB000236: Servlet.service() for servlet Faces Servlet threw exception: javax.enterprise.event.ObserverException 
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) [rt.jar:1.7.0_72] 
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57) [rt.jar:1.7.0_72] 
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) [rt.jar:1.7.0_72] 
    at java.lang.reflect.Constructor.newInstance(Constructor.java:526) [rt.jar:1.7.0_72] 
    at java.lang.Class.newInstance(Class.java:379) [rt.jar:1.7.0_72] 
    at org.jboss.weld.util.reflection.SecureReflections$16.work(SecureReflections.java:344) [weld-core-1.1.31.Final-redhat-1.jar:1.1.31.Final-redhat-1] 
    at org.jboss.weld.util.reflection.SecureReflectionAccess.run(SecureReflectionAccess.java:52) [weld-core-1.1.31.Final-redhat-1.jar:1.1.31.Final-redhat-1] 
    at org.jboss.weld.util.reflection.SecureReflectionAccess.runAsInstantiation(SecureReflectionAccess.java:173) [weld-core-1.1.31.Final-redhat-1.jar:1.1.31.Final-redhat-1] 
    at org.jboss.weld.util.reflection.SecureReflections.newInstance(SecureReflections.java:341) [weld-core-1.1.31.Final-redhat-1.jar:1.1.31.Final-redhat-1] 
    at org.jboss.weld.injection.Exceptions.rethrowException(Exceptions.java:33) [weld-core-1.1.31.Final-redhat-1.jar:1.1.31.Final-redhat-1] 
    at org.jboss.weld.injection.Exceptions.rethrowException(Exceptions.java:73) [weld-core-1.1.31.Final-redhat-1.jar:1.1.31.Final-redhat-1] 
    at org.jboss.weld.injection.MethodInjectionPoint.invokeOnInstanceWithSpecialValue(MethodInjectionPoint.java:171) [weld-core-1.1.31.Final-redhat-1.jar:1.1.31.Final-redhat-1] 
    at java.lang.Thread.run(Thread.java:745) [rt.jar:1.7.0_72] 
Caused by: javax.servlet.ServletException: Expression Error: Named Object: org.omnifaces.component.validator.ValidateMultiple not found. 
    at javax.faces.webapp.FacesServlet.service(FacesServlet.java:606) [jsf-api-2.1.6.jar:2.1.6-SNAPSHOT] 
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:295) [jbossweb-7.5.12.Final-redhat-1.jar:7.5.12.Final-redhat-1] 
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:214) [jbossweb-7.5.12.Final-redhat-1.jar:7.5.12.Final-redhat-1] 
    at org.primefaces.webapp.filter.FileUploadFilter.doFilter(FileUploadFilter.java:79) [primefaces-3.5.jar:3.5.28] 
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:246) [jbossweb-7.5.12.Final-redhat-1.jar:7.5.12.Final-redhat-1] 
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:214) [jbossweb-7.5.12.Final-redhat-1.jar:7.5.12.Final-redhat-1] 
    at org.jboss.solder.servlet.exception.CatchExceptionFilter.doFilter(CatchExceptionFilter.java:65) [solder-impl-3.2.0-20130114.052037-75.jar:3.2.0-SNAPSHOT] 
    ... 31 more 
Caused by: javax.faces.FacesException: Expression Error: Named Object: org.omnifaces.component.validator.ValidateMultiple not found. 
    at com.sun.faces.application.ApplicationImpl.createComponentApplyAnnotations(ApplicationImpl.java:1910) [jsf-impl-2.1.6.jar:2.1.6-SNAPSHOT] 
    at com.sun.faces.application.ApplicationImpl.createComponent(ApplicationImpl.java:1164) [jsf-impl-2.1.6.jar:2.1.6-SNAPSHOT] 
    at org.jboss.as.weld.webtier.jsf.ForwardingApplication.createComponent(ForwardingApplication.java:110) [jboss-as-weld-7.5.6.Final-redhat-2.jar:7.5.6.Final-redhat-2] 
    at javax.faces.application.ApplicationWrapper.createComponent(ApplicationWrapper.java:594) [jsf-api-2.1.6.jar:2.1.6-SNAPSHOT] 
    at javax.faces.application.ApplicationWrapper.createComponent(ApplicationWrapper.java:594) [jsf-api-2.1.6.jar:2.1.6-SNAPSHOT] 
    at org.jboss.seam.faces.environment.SeamApplicationWrapper$Proxy$_$$_WeldClientProxy.createComponent(SeamApplicationWrapper$Proxy$_$$_WeldClientProxy.java) [seam-faces-3.2.0-20130126.053739-28.jar:3.2.0-SNAPSHOT] 
    at com.sun.faces.facelets.tag.jsf.ComponentTagHandlerDelegateImpl.createComponent(ComponentTagHandlerDelegateImpl.java:510) [jsf-impl-2.1.6.jar:2.1.6-SNAPSHOT] 
    at com.sun.faces.facelets.tag.jsf.ComponentTagHandlerDelegateImpl.apply(ComponentTagHandlerDelegateImpl.java:157) [jsf-impl-2.1.6.jar:2.1.6-SNAPSHOT] 
    at javax.faces.view.facelets.DelegatingMetaTagHandler.apply(DelegatingMetaTagHandler.java:120) [jsf-api-2.1.6.jar:2.1.6-SNAPSHOT] 
    at javax.faces.view.facelets.CompositeFaceletHandler.apply(CompositeFaceletHandler.java:98) [jsf-api-2.1.6.jar:2.1.6-SNAPSHOT] 
    at javax.faces.view.facelets.DelegatingMetaTagHandler.applyNextHandler(DelegatingMetaTagHandler.java:137) [jsf-api-2.1.6.jar:2.1.6-SNAPSHOT] 
    at com.sun.faces.facelets.tag.jsf.ComponentTagHandlerDelegateImpl.apply(ComponentTagHandlerDelegateImpl.java:184) [jsf-impl-2.1.6.jar:2.1.6-SNAPSHOT] 

OmniFacesのバージョンは1.7です。また、PrimeFaces 3.5.28(3.5ツリーの最後)とSeam Faces 3.2.0も使用しています。

何が原因で発生する可能性があり、修正する方法はありますか?私達はちょうどfaces-config.xmlファイルに次のように置くことによって、例外を取り除くことができました

おかげ

+0

これは、OmniFacesが、例えば、 WARのWEB-INF/libのEAR/lib instad。あなたはビルドが大丈夫かどうか確認しましたか? http://omnifaces.org/#installation – BalusC

+0

も参照してください。かなり大きなWARファイルがありますが、EARはありません。ビルドは大丈夫です。答えも参照してください。 – Kawu

+0

'metadata-complete'が' false'であることを保証できますか? – BalusC

答えて

1

<component> 
    <component-type>org.omnifaces.component.validator.ValidateMultiple</component-type> 
    <component-class>org.omnifaces.component.validator.ValidateMultiple</component-class> 
</component> 

これは救済策である理由のために任意の説明/仮定がありますか?

+1

これはWEB-INF/libのライブラリで認識されない '@ FacesComponent'アノテーションの回避策です。 – BalusC

関連する問題