簡體   English   中英

在GAE上的Primefaces 3.5 JSF 2.1 ClassNotFoundException

[英]Primefaces 3.5 JSF 2.1 ClassNotFoundException on GAE

我嘗試將JSF 2.1 Webapp遷移到Google App引擎。

一切都可以在本地開發人員模式下正常運行,在GAE上也可以正常部署,但是當我嘗試訪問任何頁面時,都會得到HTTP Code500。日志文件顯示存在ClassNotFoundException:

INFO: com.sun.faces.lifecycle.ELResolverInitPhaseListener populateFacesELResolverForJsp: JSF1027: [null] 
      The ELResolvers for JSF were not registered with the JSP container.
WARNING: populateFacesELResolverForJsp: JSF1027: [null] The ELResolvers for JSF were not registered with the JSP container.
javax.servlet.ServletException: java.lang.RuntimeException:  
java.lang.ClassNotFoundException: com.sun.org.apache.xerces.internal.dom.ElementNSImpl
at com.google.apphosting.runtime.jetty.AppVersionHandlerMap.handle(AppVersionHandlerMap.java:268)
at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
at org.mortbay.jetty.Server.handle(Server.java:326)
at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:542)
at org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:923)
at com.google.apphosting.runtime.jetty.RpcRequestParser.parseAvailable(RpcRequestParser.java:76)
at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404)
at com.google.apphosting.runtime.jetty.JettyServletEngineAdapter.serviceRequest(JettyServletEngineAdapter.java:146)
at com.google.apphosting.runtime.JavaRuntime$RequestRunnable.run(JavaRuntime.java:438)
at com.google.tracing.TraceContext$TraceContextRunnable.runInContext(TraceContext.java:480)
at com.google.tracing.TraceContext$TraceContextRunnable$1.run(TraceContext.java:487)
at com.google.tracing.TraceContext.runInContext(TraceContext.java:774)
at com.google.tracing.TraceContext$DoInTraceContext.runInContext(TraceContext.java:751)
at com.google.tracing.TraceContext$AbstractTraceContextCallback.runInInheritedContextNoUnref(TraceContext.java:342)
at com.google.tracing.TraceContext$AbstractTraceContextCallback.runInInheritedContext(TraceContext.java:334)
at com.google.tracing.TraceContext$TraceContextRunnable.run(TraceContext.java:484)
at com.google.apphosting.runtime.ThreadGroupPool$PoolEntry.run(ThreadGroupPool.java:251)
at java.lang.Thread.run(Thread.java:722)

我已經嘗試部署相應的庫jaxp-ri-1.4.jar,但沒有任何效果。

有關我的配置和第三方庫的更多信息:

- Mojarra JSF 2.1.12
- Primefaces 3.5
- Primefaces Extensions 
- Prettyfaces 3.3.3
- Ebay Finding Api
- STATE_SAVING_METHOD set to 'client'
-  i use EL 2.2 form jboss seam  <context-param>
    <param-name>com.sun.faces.expressionFactory</param-name>
    <param-value>org.jboss.el.ExpressionFactoryImpl</param-value>
    </context-param>

謝謝你的幫助!

經過一些調試后,我發現eBay Finding API導致了問題,因為它使用SOAP進行服務調用。 無需致電eBay Api,一切運行正常。

com.sun.org.apache.xerces.internal.dom.NodeImpl is a restricted Class

似乎eBay查找API與Google App Engine不兼容,因為它使用JAX-WS。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM