Google App Engine + JSF 2出错 [英] Google App Engine + JSF 2 give the error
问题描述
我正在使用此链接与谷歌应用程序引擎与jsf所以我得到这个错误,当我运行在日食,所以给予欲望解决方案
链接是 http://www.mkyong.com/google-app-engine/google-app-engine-jsf- 2-example /
java.lang.ClassNotFoundException:javax.faces.webapp.FacesServlet
at java.net.URLClassLoader $ 1.run(URLClassLoader.java:366)在java.net.URLClassLoader上
$ 1.run(URLClassLoader.java:355)$ java.util.AccessController.doPrivileged中的
(Native方法)在java.net.URLClassLoader.findClass上的
(URLClassLoader.java:354)在java.lang.ClassLoader.loadClass上的
(ClassLoader.java:423)在com.google.appengine上的
。 tools.development.IsolatedAppClassLoader.loadClass
(IsolatedAppClassLoader.java:207)$ b $在java.lang.ClassLoader.loadClass(ClassLoader.java:356)
在org.mortbay.util.Loader。 loadCl (Loader.java:91)
at org.mortbay.util.Loader.loadClass(Loader.java:71)
at org.mortbay.jetty.servlet.Holder.doStart(Holder.java:
at org.mortbay.jetty.servlet.ServletHolder.doStart(ServletHolder.java:242)
at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
at org.mortbay.jetty.servlet.ServletHandler.initialize(ServletHandler.java:685)
at org.mortbay.jetty.servlet.Context.startContext(Context.java:140)
at org.mortbay .jetty.webapp.WebAppContext.startContext(WebAppContext.java:1250)
at org.mortbay.jetty.handler.ContextHandler.doStart(ContextHandler.java:517)
at org.mortbay.jetty.webapp .WebAppContext.doStart(WebAppContext.java:467)
at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
at org.mortbay.jetty.handler.HandlerWrapper.doStart(HandlerWrapper .java:130)
at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
at org.mortbay.jetty.handler.HandlerWrapper.doStart(HandlerWrapper.java:130)
at org.mortbay.jetty.Server.doStart(Server.java:224)
at org .mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
,位于com.google.appengine.tools.development.JettyContainerService.startContainer
(JettyContainerService.java:197)
at com .google.appengine.tools.development.AbstractContainerService.startup
(AbstractContainerService.java:241)
,位于com.google.appengine.tools.development.DevAppServerImpl.start
(DevAppServerImpl.java: 148)
,位于com.google.appengine.tools.development.DevAppServerMain $ StartAction.apply
(DevAppServerMain.java:310)
,位于com.google.appengine.tools.util.Parser $ ParseResult.applyArgs(Parser.java:48)
,位于com.google.appengine.tools.development.DevAppServerMain。< init>
(DevAppServerMain.java:249)
,位于com.google.appengine.tools.development.DevAppServerMain.main
(DevAppServerMain.java:225)
Sep 06 ,2012 10:58:55 AM com.google.appengine.tools.development.ApiProxyLocalImpl log
SEVERE:javax.servlet.ServletContext log:unavailable
javax.servlet.UnavailableException:javax.faces.webapp。 FacesServlet
at org.mortbay.jetty.servlet.Holder.doStart(Holder.java:79)
at org.mortbay.jetty.servlet.ServletHolder.doStart(ServletHolder.java:242)
org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
at org.mortbay.jetty.servlet.ServletHandler.initialize(ServletHandler.java:685)
at org.mortbay。 jetty.servlet.Context.startContext(Context.java:140)
at org.mortbay.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1250)
at org.mortbay.jetty.handler。 ContextHandler.doStart(ContextHandler.java:517)
在org.mortbay.jetty .webapp.WebAppContext.doStart(WebAppContext.java:467)
at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
at org.mortbay.jetty.handler.HandlerWrapper.doStart (HandlerWrapper.java:130)
at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
at org.mortbay.jetty.handler.HandlerWrapper.doStart(HandlerWrapper.java:130 )
at org.mortbay.jetty.Server.doStart(Server.java:224)
at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
at com。 google.appengine.tools.development.JettyContainerService.startContainer
(JettyContainerService.java:197)
at com.google.appengine.tools.development.AbstractContainerService.startup
(AbstractContainerService.java:241 )
,位于com.google.appengine.tools.development.DevAppServerImpl.start
(DevAppServerImpl.java:148)
,位于com.google.appengine.tools.development.DevAppServerMain $ StartAction.apply
(DevAppServerMain.java:310)
,位于com.google.appengine.tools.util.Parser $ ParseResult.applyArgs(Parser.java:48)
,位于com.google.appengine.tools .development.DevAppServerMain。
< init>(DevAppServerMain.java:249)
,位于com.google.appengine.tools.development.DevAppServerMain.main
(DevAppServerMain.java:225)
Sep 06,2012 10:58:55 AM com.google.apphosting.utils.jetty.JettyLogger警告
警告:失败的Faces Servlet:java.lang.NullPointerException
Sep 06,2012 10:58 :55上午com.google.apphosting.utils.jetty.JettyLogger警告
警告:上下文启动失败
com.google.appengine.tools.development.DevAppEngineWebAppContext@1dc94ea
{/,C :\Documents and Settings\Shilendra Sharma\workspace\Shilu\war}
java.lang.NullPointerException $ b $ java.lang.Class.isAssignableFrom(Native Method)
at org.mortbay.jetty.servlet.ServletHolder.doStart(ServletHolder.java:256)
at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
at org.mortbay.jetty。 servlet.ServletHandler.initialize(ServletHandler.java:685)
a t org.mortbay.jetty.servlet.Context.startContext(Context.java:140)
at org.mortbay.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1250)
at org.mortbay .jetty.handler.ContextHandler.doStart(ContextHandler.java:517)
at org.mortbay.jetty.webapp.WebAppContext.doStart(WebAppContext.java:467)
at org.mortbay.component.AbstractLifeCycle .start(AbstractLifeCycle.java:50)
at org.mortbay.jetty.handler.HandlerWrapper.doStart(HandlerWrapper.java:130)
at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java :50)
at org.mortbay.jetty.handler.HandlerWrapper.doStart(HandlerWrapper.java:130)
at org.mortbay.jetty.Server.doStart(Server.java:224)
at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
com.google.appengine.tools.development.JettyContainerService.startContainer
(JettyContainerService.java:197)
在com.google.appengine.tools.development.Abst ractContainerService.startup
(AbstractContainerService.java:241)
,位于com.google.appengine.tools.development.DevAppServerImpl.start
(DevAppServerImpl.java:148)
at com。 google.appengine.tools.development.DevAppServerMain $ StartAction.apply
(DevAppServerMain.java:310)
com.google.appengine.tools.util.Parser $ ParseResult.applyArgs
(Parser .java:48)
,位于com.google.appengine.tools.development.DevAppServerMain。
< init>(DevAppServerMain.java:249)
,位于com.google.appengine.tools.development.DevAppServerMain.main
(DevAppServerMain.java:225)
所以任何人都可以帮助我正常工作
App shilendra
JSF 2使用GAE不支持的javax.naming.InitialContext。
解决这个问题:
现在,您新创建的WebConfiguration.java类将重载原始WebConfiguration.java。
I am using this linkfor google app engine with jsf so i am getting this error when i run the on eclipse so give the desire solution link is http://www.mkyong.com/google-app-engine/google-app-engine-jsf-2-example/
java.lang.ClassNotFoundException: javax.faces.webapp.FacesServlet
at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
at java.lang.ClassLoader.loadClass(ClassLoader.java:423)
at com.google.appengine.tools.development.IsolatedAppClassLoader.loadClass
(IsolatedAppClassLoader.java:207)
at java.lang.ClassLoader.loadClass(ClassLoader.java:356)
at org.mortbay.util.Loader.loadClass(Loader.java:91)
at org.mortbay.util.Loader.loadClass(Loader.java:71)
at org.mortbay.jetty.servlet.Holder.doStart(Holder.java:73)
at org.mortbay.jetty.servlet.ServletHolder.doStart(ServletHolder.java:242)
at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
at org.mortbay.jetty.servlet.ServletHandler.initialize(ServletHandler.java:685)
at org.mortbay.jetty.servlet.Context.startContext(Context.java:140)
at org.mortbay.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1250)
at org.mortbay.jetty.handler.ContextHandler.doStart(ContextHandler.java:517)
at org.mortbay.jetty.webapp.WebAppContext.doStart(WebAppContext.java:467)
at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
at org.mortbay.jetty.handler.HandlerWrapper.doStart(HandlerWrapper.java:130)
at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
at org.mortbay.jetty.handler.HandlerWrapper.doStart(HandlerWrapper.java:130)
at org.mortbay.jetty.Server.doStart(Server.java:224)
at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
at com.google.appengine.tools.development.JettyContainerService.startContainer
(JettyContainerService.java:197)
at com.google.appengine.tools.development.AbstractContainerService.startup
(AbstractContainerService.java:241)
at com.google.appengine.tools.development.DevAppServerImpl.start
(DevAppServerImpl.java:148)
at com.google.appengine.tools.development.DevAppServerMain$StartAction.apply
(DevAppServerMain.java:310)
at com.google.appengine.tools.util.Parser$ParseResult.applyArgs(Parser.java:48)
at com.google.appengine.tools.development.DevAppServerMain.<init>
(DevAppServerMain.java:249)
at com.google.appengine.tools.development.DevAppServerMain.main
(DevAppServerMain.java:225)
Sep 06, 2012 10:58:55 AM com.google.appengine.tools.development.ApiProxyLocalImpl log
SEVERE: javax.servlet.ServletContext log: unavailable
javax.servlet.UnavailableException: javax.faces.webapp.FacesServlet
at org.mortbay.jetty.servlet.Holder.doStart(Holder.java:79)
at org.mortbay.jetty.servlet.ServletHolder.doStart(ServletHolder.java:242)
at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
at org.mortbay.jetty.servlet.ServletHandler.initialize(ServletHandler.java:685)
at org.mortbay.jetty.servlet.Context.startContext(Context.java:140)
at org.mortbay.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1250)
at org.mortbay.jetty.handler.ContextHandler.doStart(ContextHandler.java:517)
at org.mortbay.jetty.webapp.WebAppContext.doStart(WebAppContext.java:467)
at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
at org.mortbay.jetty.handler.HandlerWrapper.doStart(HandlerWrapper.java:130)
at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
at org.mortbay.jetty.handler.HandlerWrapper.doStart(HandlerWrapper.java:130)
at org.mortbay.jetty.Server.doStart(Server.java:224)
at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
at com.google.appengine.tools.development.JettyContainerService.startContainer
(JettyContainerService.java:197)
at com.google.appengine.tools.development.AbstractContainerService.startup
(AbstractContainerService.java:241)
at com.google.appengine.tools.development.DevAppServerImpl.start
(DevAppServerImpl.java:148)
at com.google.appengine.tools.development.DevAppServerMain$StartAction.apply
(DevAppServerMain.java:310)
at com.google.appengine.tools.util.Parser$ParseResult.applyArgs(Parser.java:48)
at com.google.appengine.tools.development.DevAppServerMain.
<init>(DevAppServerMain.java:249)
at com.google.appengine.tools.development.DevAppServerMain.main
(DevAppServerMain.java:225)
Sep 06, 2012 10:58:55 AM com.google.apphosting.utils.jetty.JettyLogger warn
WARNING: failed Faces Servlet: java.lang.NullPointerException
Sep 06, 2012 10:58:55 AM com.google.apphosting.utils.jetty.JettyLogger warn
WARNING: Failed startup of context
com.google.appengine.tools.development.DevAppEngineWebAppContext@1dc94ea
{/,C:\Documents and Settings\Shilendra Sharma\workspace\Shilu\war}
java.lang.NullPointerException
at java.lang.Class.isAssignableFrom(Native Method)
at org.mortbay.jetty.servlet.ServletHolder.doStart(ServletHolder.java:256)
at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
at org.mortbay.jetty.servlet.ServletHandler.initialize(ServletHandler.java:685)
at org.mortbay.jetty.servlet.Context.startContext(Context.java:140)
at org.mortbay.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1250)
at org.mortbay.jetty.handler.ContextHandler.doStart(ContextHandler.java:517)
at org.mortbay.jetty.webapp.WebAppContext.doStart(WebAppContext.java:467)
at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
at org.mortbay.jetty.handler.HandlerWrapper.doStart(HandlerWrapper.java:130)
at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
at org.mortbay.jetty.handler.HandlerWrapper.doStart(HandlerWrapper.java:130)
at org.mortbay.jetty.Server.doStart(Server.java:224)
at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
at com.google.appengine.tools.development.JettyContainerService.startContainer
(JettyContainerService.java:197)
at com.google.appengine.tools.development.AbstractContainerService.startup
(AbstractContainerService.java:241)
at com.google.appengine.tools.development.DevAppServerImpl.start
(DevAppServerImpl.java:148)
at com.google.appengine.tools.development.DevAppServerMain$StartAction.apply
(DevAppServerMain.java:310)
at com.google.appengine.tools.util.Parser$ParseResult.applyArgs
(Parser.java:48)
at com.google.appengine.tools.development.DevAppServerMain.
<init>(DevAppServerMain.java:249)
at com.google.appengine.tools.development.DevAppServerMain.main
(DevAppServerMain.java:225)
so any one help me for it work properly
App shilendra
JSF 2 is using "javax.naming.InitialContext" that’s not supported in GAE.
To solve this:
- You need to get a copy of the JSF’s source code. Copy the WebConfiguration.java
- Comment methods that are using "javax.naming.InitialContext" class
- But wait, I have modified the latest (jsf 2.2.12) and here it is: WebConfiguration.java
- Put it in the package com.sun.faces.config.
Now, your newly created WebConfiguration.java class will overload the original WebConfiguration.java.
这篇关于Google App Engine + JSF 2出错的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!