------ Myfaces Core 2.0 on Google App Engine ------ Myfaces Core 2.0 on Google App Engine In order to run Myfaces on Google App Engine, you need to complete the steps below. Configuration explained in this document is tested with Google App Engine 1.3.0. * Download Myfaces Core 2.0.0(OR THE VERSION THE PATCH WILL BE RELEASED) or later. Google App Engine support is not available for older versions. Extract and put following files into war/WEB-INF/lib: * myfaces-api-2.0.x.jar * myfaces-impl-2.0.x.jar * commons-beanutils-1.x.x.jar * commons-codec-1.x.jar * commons-collections-3.x.jar * commons-digester-x.x.jar * commons-discovery-0.x.jar * commons-logging-1.x.x.jar ~~ or the version this change will be accepted ~~ or should we reference snapshots? * We need Facelets to run Myfaces on Google App Engine. So, download Facelets from {{{https://facelets.dev.java.net/}here}} and put jsf-facelets.jar into war/WEB-INF/lib. * Add following lines into your web.xml. +------------------------------------------------------------------------+ ... org.apache.myfaces.EXPRESSION_FACTORY com.sun.el.ExpressionFactoryImpl org.apache.myfaces.config.annotation.LifecycleProvider org.apache.myfaces.config.annotation.NoInjectionAnnotationLifecycleProvider javax.faces.DEFAULT_SUFFIX .xhtml Faces Servlet javax.faces.webapp.FacesServlet Faces Servlet *.jsf ... +------------------------------------------------------------------------+ * Enable sessions on App Engine. To do this, add line below to war/WEB-INF/appengine-web.xml. +------------------------------------------------------------------------+ true +------------------------------------------------------------------------+ * Although Google App Engine is said to support JSP 2.1, JSP implementation version(2.0) does not match JSP API version(2.1). So, we need to supply Unified Expression Language implementation jars. You can find them {{{https://uel.dev.java.net/}here}}. Put el-api-1.x.jar and el-impl-1.x.jar into war/WEB-INF/lib. * Here is the sample directory structure: +------------------------------------------------------------------------+ + + src + META-INF - jdoconfig.xml + war - somepage.xhtml + WEB-INF - appengine-web.xml - faces-config.xml - logging.properties - web.xml + lib - appengine-api-1.0-sdk-1.3.0.jar - appengine-api-labs-1.3.0.jar - commons-beanutils-1.7.0.jar - commons-codec-1.3.jar - commons-collections-3.2.jar - commons-digester-1.8.jar - commons-discovery-0.4.jar - commons-logging-1.1.1.jar - datanucleus-appengine-1.0.4.1.final.jar - datanucleus-core-1.1.5.jar - datanucleus-jpa-1.1.5.jar - el-api-1.1.jar - el-impl-1.1.jar - geronimo-jpa_3.0_spec-1.1.1.jar - geronimo-jta_1.1_spec-1.1.1.jar - jdo2-api-2.3-eb.jar - jsf-facelets.jar - myfaces-api-2.0.0.jar ~~ or some other version - myfaces-impl-2.0.0.jar ~~ or some other version +------------------------------------------------------------------------+ ~~ put the link of the kickstart zip file including structure above!!