2017-07-31 4 views
0

urlを使用してアプリケーションにアクセスしようとしている間、この例外が発生し続けます。私の大学の一つと同じ構成が完璧に動作します。クラスorg.omnifaces.exceptionhandler.FullAjaxExceptionHandlerFactoryはjavax.faces.context.ExceptionHandlerFactoryではありません

のfaces-config.xmlの

<factory> 
    <exception-handler-factory>org.omnifaces.exceptionhandler.FullAjaxExceptionHandlerFactory</exception-handler-factory> 

web.xmlの

<error-page> 
     <exception-type>javax.faces.application.ViewExpiredException</exception-type> 
     <location>/logout.xhtml</location> 
    </error-page> 

    <error-page> 
     <error-code>403</error-code> 
     <location>/errorGeneral.xhtml</location> 
    </error-page> 

    <error-page> 
     <error-code>404</error-code> <!-- Not Found --> 
     <location>/errorGeneral.xhtml</location> 
    </error-page> 

    <error-page> 
     <error-code>408</error-code> <!-- Timeout --> 
     <location>/logout.xhtml</location> 
    </error-page> 

    <error-page> 
     <error-code>500</error-code> 
     <location>/errorGeneral.xhtml</location> <!-- Internal Server Error --> 
    </error-page> 
:ここ

は、私は自分のアプリケーションを持っているコンフィギュレーションの一部であります

と、ここでの例外の完全なスタック:

例外

Excepción de página de errores 
SRVE0260E: El servidor no puede utilizar la página de error especificada para que la aplicación gestione la excepción original que se muestra a continuación. 

Excepción original: 
Mensaje de error: javax.servlet.ServletException: SRVE0207E: Excepción de inicialización no obtenida creada por el servlet 
Código de error: 500 
Servlet de destino: Faces Servlet 
Pila de errores: 
java.lang.IllegalArgumentException: Class org.omnifaces.exceptionhandler.FullAjaxExceptionHandlerFactory is no javax.faces.context.ExceptionHandlerFactory 
    at javax.faces.FactoryFinder.newFactoryInstance(FactoryFinder.java:320) 
    at javax.faces.FactoryFinder._getFactory(FactoryFinder.java:286) 
    at javax.faces.FactoryFinder.getFactory(FactoryFinder.java:191) 
    at org.apache.myfaces.context.FacesContextFactoryImpl.<init>(FacesContextFactoryImpl.java:120) 
    at java.lang.J9VMInternals.newInstanceImpl(Native Method) 
    at java.lang.Class.newInstance(Class.java:1549) 
    at javax.faces.FactoryFinder.newFactoryInstance(FactoryFinder.java:326) 
    at javax.faces.FactoryFinder._getFactory(FactoryFinder.java:286) 
    at javax.faces.FactoryFinder.getFactory(FactoryFinder.java:191) 
    at javax.faces.webapp.FacesServlet.init(FacesServlet.java:112) 
    at com.ibm.ws.webcontainer.servlet.ServletWrapper.init(ServletWrapper.java:363) 
    at com.ibm.ws.webcontainer.servlet.ServletWrapperImpl.init(ServletWrapperImpl.java:171) 
    at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:744) 
    at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:507) 
    at com.ibm.ws.webcontainer.servlet.ServletWrapperImpl.handleRequest(ServletWrapperImpl.java:181) 
    at com.ibm.ws.webcontainer.webapp.WebApp.handleRequest(WebApp.java:3954) 
    at com.ibm.ws.webcontainer.webapp.WebGroup.handleRequest(WebGroup.java:276) 
    at com.ibm.ws.webcontainer.WebContainer.handleRequest(WebContainer.java:945) 
    at com.ibm.ws.webcontainer.WSWebContainer.handleRequest(WSWebContainer.java:1592) 
    at com.ibm.ws.webcontainer.channel.WCChannelLink.ready(WCChannelLink.java:191) 
    at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleDiscrimination(HttpInboundLink.java:453) 
    at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleNewRequest(HttpInboundLink.java:515) 
    at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.processRequest(HttpInboundLink.java:306) 
    at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.ready(HttpInboundLink.java:277) 
    at com.ibm.ws.tcp.channel.impl.NewConnectionInitialReadCallback.sendToDiscriminators(NewConnectionInitialReadCallback.java:214) 
    at com.ibm.ws.tcp.channel.impl.NewConnectionInitialReadCallback.complete(NewConnectionInitialReadCallback.java:113) 
    at com.ibm.ws.tcp.channel.impl.AioReadCompletionListener.futureCompleted(AioReadCompletionListener.java:175) 
    at com.ibm.io.async.AbstractAsyncFuture.invokeCallback(AbstractAsyncFuture.java:217) 
    at com.ibm.io.async.AsyncChannelFuture.fireCompletionActions(AsyncChannelFuture.java:161) 
    at com.ibm.io.async.AsyncFuture.completed(AsyncFuture.java:138) 
    at com.ibm.io.async.ResultHandler.complete(ResultHandler.java:204) 
    at com.ibm.io.async.ResultHandler.runEventProcessingLoop(ResultHandler.java:775) 
    at com.ibm.io.async.ResultHandler$2.run(ResultHandler.java:905) 
    at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1660) 

私が働いている:

のWebsphere 7 RAD 9.1.1が JDK 8は

どれでも私の問題は何ですか?

ありがとうございました。

答えて

-1

アプリケーションで2つの別々のJSF実装が選択されているようです。もちろん、例外にはOmniFacesクラスがありますが、MyFacesがスタックに表示されています。

最も簡単な答えは、アプリからJSFのものを削除し、サーバーにパッケージ化されたバージョンに依存することです。複数の実装がない場合、複数の実装間で競合を起こすことはできません。特にOmniFacesに依存している場合は、PARENT_LASTクラスのロード(または独立した共有ライブラリ)を使用して、アプリケーションに完全なAPI +実装を含め、MyFacesへの参照をすべて削除する必要がありますアプリケーションコードから実装し、アーティファクトを構築します。

+0

[OmniFaces](http://omnifaces.org/)はJSFの実装ではありません。 – BalusC

+0

私はそれをしましたが、それでも同じエラーが出ます –

関連する問題