使用GAE 1.5.5和Mojarra 2.0.6 FCS,我在启动日志中看到了以下消息。
Mojarra 2.0.4也是如此,它是文章Configuring JavaServer Faces 2.0 to run on the Google App Engine Using Eclipse中给出的版本。
该项目只是一个基本的JSF应用程序,其中包含链接文章中的web.xml。
这是一个已知问题吗?我还会将它发布在Google App Engine / Java论坛上。
[java] INFO: Mojarra 2.0.6 (FCS FCS) für Kontext '' wird initialisiert.
[java] 21.11.2011 16:10:50 com.sun.faces.spi.InjectionProviderFactory createInstance
[java] INFO: JSF1048: PostConstruct/PreDestroy-Annotationen vorhanden. Verwaltete Bean-Methoden, die mit diesen Annotationen markiert sind, lassen die entsprechenden Annotationen verarbeiten.
[java] 21.11.2011 16:10:50 com.sun.faces.config.ConfigureListener contextInitialized
[java] SCHWERWIEGEND: Critical error during deployment:
[java] java.lang.NoSuchFieldError: FaceletCache
[java] at com.sun.faces.application.ApplicationAssociate.createFaceletFactory(ApplicationAssociate.java:655)
[java] at com.sun.faces.application.ApplicationAssociate.<init>(ApplicationAssociate.java:227)
[java] at com.sun.faces.application.ApplicationImpl.<init>(ApplicationImpl.java:210)
[java] at com.sun.faces.application.ApplicationFactoryImpl.getApplication(ApplicationFactoryImpl.java:107)
[java] at com.sun.faces.config.processor.AbstractConfigProcessor.getApplication(AbstractConfigProcessor.java:130)
[java] at com.sun.faces.config.processor.ApplicationConfigProcessor.process(ApplicationConfigProcessor.java:256)
[java] at com.sun.faces.config.processor.AbstractConfigProcessor.invokeNext(AbstractConfigProcessor.java:114)
[java] at com.sun.faces.config.processor.LifecycleConfigProcessor.process(LifecycleConfigProcessor.java:116)
[java] at com.sun.faces.config.processor.AbstractConfigProcessor.invokeNext(AbstractConfigProcessor.java:114)
[java] at com.sun.faces.config.processor.FactoryConfigProcessor.process(FactoryConfigProcessor.java:216)
[java] at com.sun.faces.config.ConfigManager.initialize(ConfigManager.java:338)
[java] at com.sun.faces.config.ConfigureListener.contextInitialized(ConfigureListener.java:226)
[java] at org.mortbay.jetty.handler.ContextHandler.startContext(ContextHandler.java:548)
[java] at org.mortbay.jetty.servlet.Context.startContext(Context.java:136)
[java] at org.mortbay.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1250)
[java] at org.mortbay.jetty.handler.ContextHandler.doStart(ContextHandler.java:517)
[java] at org.mortbay.jetty.webapp.WebAppContext.doStart(WebAppContext.java:467)
[java] at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
[java] at org.mortbay.jetty.handler.HandlerWrapper.doStart(HandlerWrapper.java:130)
[java] at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
[java] at org.mortbay.jetty.handler.HandlerWrapper.doStart(HandlerWrapper.java:130)
[java] at org.mortbay.jetty.Server.doStart(Server.java:224)
[java] at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
[java] at com.google.appengine.tools.development.JettyContainerService.startContainer(JettyContainerService.java:186)
[java] at com.google.appengine.tools.development.AbstractContainerService.startup(AbstractContainerService.java:182)
[java] at com.google.appengine.tools.development.DevAppServerImpl.start(DevAppServerImpl.java:172)
[java] at com.google.appengine.tools.development.DevAppServerMain$StartAction.apply(DevAppServerMain.java:164)
[java] at com.google.appengine.tools.util.Parser$ParseResult.applyArgs(Parser.java:48)
[java] at com.google.appengine.tools.development.DevAppServerMain.<init>(DevAppServerMain.java:113)
[java] at com.google.appengine.tools.development.DevAppServerMain.main(DevAppServerMain.java:89)
[java] 21.11.2011 16:10:50 com.google.apphosting.utils.jetty.JettyLogger warn
答案 0 :(得分:2)
这应该是Mojarra 2.0.3中引入的WebConfiguration.WebContextInitParameter
枚举字段。
这个特殊的例外情况表明您已经拥有版本2.0.2或更早版本的Mojarra impl 和版本2.0.3或更高版本的Mojarra impl在您的webapp运行时类路径。
清理它。扫描重复的jsf-impl.jar
个文件,如果需要,还可以扫描实际来自Glassfish的javaee.jar
。