- 浏览: 44681 次
- 性别:
- 来自: 龙岩
文章分类
最新评论
-
yangwen13:
在path上添加X:\play-2.0.2即可。
X为你解压缩 ...
Play Framework在windows下的配置 -
pochonlee:
...
Play Framework在windows下的配置 -
daxiong921:
<div class="quote_title ...
GAE4J中framework限制列表 -
tidelgl:
用了InputStream了,还是不行啊
GAE4J中framework限制列表 -
daxiong921:
谢谢提示啦,我也用test,就是不用test都很好用了都
Play的常用命令 一(备忘)
Will it play in App Engine
For information on a particular framework, language, or library, please search for its name on this page. If the item you are interested is not listed, has incorrect information, or you have a fix for a reported issue, please add a comment to the page.
Java Enterprise Edition (Java EE) Technologies
Supported
While we do not support the entirety of the Java EE specification, many of its individual components are supported. These include:
Java Data Objects (JDO) -- notes
Java Persistence API (JPA) -- notes *
Java Server Faces (JSF) 1.1 - 2.0 **
Java Server Pages (JSP) + JSTL ***
Java Servlet API 2.4 -- notes
JavaBeans™ Activation Framework (JAF)
Java Architecture for XML Binding (JAXB)
JavaMail -- notes
XML processing APIs including DOM, SAX, and XSLT
* For a guide on "converting" between JPA and JDO, see the blog entry at http://objectuser.wordpress.com/2009/07/04/17-minute-jdo/.
** JSF 1.1 appears to be working out-of-the-box. JSF 1.2 and JSF 2.0 should also work if you set the com.sun.faces.enableMultiThreadedStartup context parameter to false to your web.xml file. Setting this parameter to false (it's set to true by default) will prevent additional threads from being spawned. For more information on running JSF 2.0 in App Engine, see this Site.
*** JSP session beans are not supported; to enable EL parsing, add <%@page isElIgnored="false" %> to your JSPs and <%@tag isElIgnored="false" %> to your tag files.
Not supported
There are various APIs and technologies that are not supported by App Engine at present for various reasons. These include:
Enterprise Java Beans (EJB)
JAX-RPC
JAX-WS
Java Database Connectivity (JDBC) **
Java EE™ Connector Architecture (JCA)
Java Management Extensions (JMX)
Java Message Service (JMS)
Java Naming and Directory Interface (JNDI)
Remote Method Invocation (RMI)
** App Engine's underlying datastore is based on BigTable, not a traditional SQL-based RDBMS like MySQL or PostgreSQL. You may either use the low-level datastore API or the JDO or JPA object-relational mapping interfaces provided. Various JDBC wrappers are available for the datastore, and you may still be able to connect to in-memory databases such as the H2 database engine or HSQLDB.
JVM-based Languages
NOTE: All JVM-based languages are subject to the same App Engine sandbox restrictions as Java.
BeanShell
Version(s): ?
Status: COMPATIBLE
CAL
Version(s): ?
Status: COMPATIBLE
CAL, together with the Open Quark framework, can be run on App Engine. More details at http://www.kablambda.org/blog/2009/04/09/functional-programming-on-google-appengine/.
Groovy
Versions: 1.6.1 +
Status: COMPATIBLE
More information is available on the Spring Source blog.
JRuby (Ruby)
Versions: 1.3.1+
Status: COMPATIBLE (see notes)
AppEngine JRuby Code Site: http://code.google.com/p/appengine-jruby/
JRuby AppEngine Blog: http://jruby-appengine.blogspot.com/
Getting Started with Sinatra: http://code.google.com/p/appengine-jruby/wiki/GettingStarted
Running Rails 2.3.5 on AppEngine: http://code.google.com/p/appengine-jruby/wiki/RunningRails
Jython (Python)
Versions: 2.2, 2.5rc4 +
Status: COMPATIBLE
Modjy, used to bridge Jython WSGI applications to those running inside Java servlet containers, is also compatible with App Engine. See http://opensource.xhaus.com/projects/modjy/wiki/ModjyGoogleAppEngine for a quick tutorial.
Quercus (PHP)
Version(s): ?
Status: COMPATIBLE
See http://brian.brispace.net/2009/04/09/php-on-google-app-engine/#post-398 for an example of how to configure your deployment descriptor to work with Quercus.
Rhino (JavaScript)
Version(s): ?
Status: COMPATIBLE
For a quick tutorial demonstrating how to run Rhino and Helma NG on App Engine, see http://dev.helma.org/ng/Running+Rhino+and+Helma+NG+on+Google+App+Engine/.
Jack, a implementation of the JSGI spec with Rhino support, also works with App Engine. A servlet is available.
Scala
Version(s): ?
Status: COMPATIBLE
Scala works out-of-the-box as does the Lift Web Framework for Scala.
Scala Actors do not work, because they are implemented using threads, which are not supported.
Dave Briccetti has posted his experience running Scala with App Engine to his blog.
Miscellaneous Java™ Libraries and Frameworks
Apache Commons FileUpload
Version: 1.2.1
Status: SEMI-COMPATIBLE
The streaming API added in version 1.2.1 works out of the box.
The traditional API is not supported due to dependencies on java.io.File (App Engine does not expose a writable file system), although a custom FileItemFactory implementation that does not rely on writing files should work.
Apache HttpClient
Version: 4
Status: COMPATIBLE
Requires a custom ConnectionManager that wraps UrlFetch. Details are here and here.
Apache POI
Version(s): ?
Status: INCOMPATIBLE
Apache POI relies on several classes not in the JRE class whitelist including java.awt.Color. A bug has been filed at https://issues.apache.org/bugzilla/show_bug.cgi?id=47497.
Base64 (link)
Version(s): ?
Status: COMPATIBLE
BlazeDS
Version: 3.2.0.3978
Status: COMPATIBLE
To workaround an EMFException thrown by flex.messaging.io.amf.AbstractAmfInput, follow Martin Zoldano's workarounds at http://martinzoldano.blogspot.com/2009/04/appengine-adobe-blazeds-fix.html.
You will need to enable sessions to get BlazeDS working.
Compass
Version(s): ?
Status: SEMI-COMPATIBLE
Shay Banon has posted a screencast at http://www.kimchy.org/searchable-google-appengine-with-compass/ which shows the basic configuration changes needed to enable full text search of datastore entities.
To workaround issues with Compass and JPA persistence, see http://forum.compass-project.org/thread.jspa?threadID=216243&tstart=0.
Direct Web Remoting (DWR)
Version(s): 2.0.5, 3.0 RC1
Status: COMPATIBLE
dyuproject (OpenID RelyingParty 2.0 implementation, OAuth consumer and service provider, JSON IOC, lightweight Servlet-based REST framework)
Version(s): ?
Status: COMPATIBLE
Ehcache
Version: 1.6.0
Status: COMPATIBLE
All features work aside from the DiskStore and replication, but workarounds are available. See http://ehcache.sourceforge.net/documentation/googleappengine.html for more.
Facelets
Version: 1.1.14
Status: COMPATIBLE
Force.com Web Service Connector (sfdc-wsc)
Version(s): ?
Status: COMPATIBLE
A pre-built JAR of the App Engine-compatible sfdc-wsc library is available for download at http://code.google.com/p/sfdc-wsc/downloads/list.
Google Data (GData) client library for Java
Version(s): all
Status: COMPATIBLE
As per this FAQ, you need set a specific configuration error to avoid a runtime permissions error. Otherwise, you will see java.security.AccessControlException: access denied (java.net.NetPermission getCookieHandler) when you try to use the library.
Google Web Toolkit (GWT)
Versions: All
Status: COMPATIBLE
The Google Plugin for Eclipse enhances GWT and App Engine cross-development.
Grails
Version: 1.1.1
Status: SEMI-COMPATIBLE
A plugin has been made available which integrates the App Engine SDK with Grails, adding features to upload Grails application automatically and run the local dev server. To download this plugin or see a screencast and tutorial, see http://grails.org/plugin/app-engine.
As of now, you have to use the "grails app-engine run" command rather than "grails run-app", which blocks other plugins that extend run-app including the GWT plugin. More incompatibilities noted in this thread.
GraniteDS
Version(s): ?
Status: COMPATIBLE
Guice
Version(s): ?
Status: SEMI-COMPATIBLE
Notes:
Guice should work if you build it from trunk.
You may have to add a try-catch block to Finalizer.java to prevent a SecurityException from being thrown. More details at http://groups.google.com/group/google-guice/browse_thread/thread/13a63dc40684abe8.
Hibernate
Versions: All
Status: INCOMPATIBLE
You cannot currently use Hibernate directly. The differences between the App Engine datastore and SQL were too great to get the standard Hibernate up and running under App Engine. App Engine does support JDO and JPA, so you may be able to convert your Hibernate code to use one of these ORM interfaces.
ICEfaces
Version(s): 1.8.1
Status: INCOMPATIBLE
iText
Version(s): ?
Status: INCOMPATIBLE
iText relies on several classes not in the JRE class whitelist including java.awt.Color and java.nio.MappedByteBuffer. A bug has been filed at http://sourceforge.net/tracker/?func=detail&atid=365255&aid=2810312&group_id=15255.
ItsNat (http://www.itsnat.org)
Version: 0.7
Status: SEMI-COMPATIBLE
It works including AJAX: http://itsnatfeatshow.appspot.com/servlet?itsnat_doc_name=manual.core.example
Core level works but Comet (undefined thread retention is prohibited in GAE and sometimes a new thread is needed). Use timers (polling).
Most of components do not work because most of them use Swing classes (and some AWT class), these classes are not allowed in GAE.
More info: http://code.google.com/p/googleappengine/issues/detail?id=1313
Java Topology Suite (JTS)
Version(s): 1.10
Status: COMPATIBLE
A JTS + Restlet demo is available at http://iqbalyusuf.wordpress.com/java-topology-suite-google-app-engine-restlet-test/.
A JTS + GWT + Google Maps demo is available at http://giscloud.appspot.com.
JBoss Seam
Version(s): ?
Status: SEMI-COMPATIBLE
See http://ctpjava.blogspot.com/2009/04/jboss-seam-on-google-app-engine-first.html for a list of modifications that need to be made in order to get JBoss Seam working in App Engine's sandbox.
Jena Semantic Framework
Version(s): ?
Status: SEMI-COMPATIBLE
Jena Semantic Framework does not run in App Engine's production environment out-of-the-box since it relies on the restricted java.rmi.server package, but you can make some modifications to its source to get it working. The solutions are detailed at the bottom of http://groups.google.com/group/google-appengine-java/browse_thread/thread/c2c0d27a7ed42562.
Jersey
Version: 1.1.5
Status: COMPATIBLE
Works now and there is a tracing mechanism in place: http://blogs.sun.com/sandoz/entry/jersey_1_1_5_is
Tutorial: http://tugdualgrall.blogspot.com/2010/02/create-and-deploy-jax-rs-rest-service.html
Version: 1.1.5
Status: SEMI-COMPATIBLE
http://blogs.sun.com/sandoz/entry/jersey_apps_can_now_be
Guide for running Jersey on App Engine: http://iqbalyusuf.wordpress.com/google-app-engine-jax-rs-jersey/
log4j
Version(s): ?
Status: COMPATIBLE
MyFaces
Version: 1.1.6, 2.0.0-beta-3
Status: COMPATIBLE
A GAE + MyFaces 2.0.0-beta-3 tutorial is available.
OpenSocial client library for Java
Version(s): 20090402
Status: COMPATIBLE
OSGi
Version(s): ?
Status: SEMI-COMPATIBLE
At least one developer has managed to get OSGi working locally using the Equinox servlet bridge. Details at http://eclipsesource.com/blogs/2009/04/10/osgi-on-appengine/.
An open source port of Felix OSGi called Lemmon is available and has been successfully run on App Engine for Java. See http://lemmon.googlecode.com/.
PDFJet
Version(s): ?
Status: COMPATIBLE
Requires some tweaks to method definitions in several classes (e.g. Image.java, JPGImage.java) to use InputStream instead of File, and remove an AWT dependency in PixelGrabber.java. See http://groups.google.com/group/google-appengine-java/browse_thread/thread/a06dd822a6cee160 for more.
Restlet
Version(s): 2.0 M5 +
Status: COMPATIBLE
The team has created an adaptation of Restlet just for App Engine.
See http://wiki.restlet.org/developers/172-restlet/251-restlet.html for instructions on tuning a standard installation of Restlet for App Engine.
Here's another blog post from the team about Restlet: http://blog.noelios.com/2009/04/11/restlet-in-the-cloud-with-google-app-engine/
RichFaces
Version: 3.1.6
Status: INCOMPATIBLE
RichFaces depends on the javax.imageio package which is presently not listed on the JRE class whitelist.
SiteMesh
Versions: 2.4.2 +
Status: COMPATIBLE
Beginning with version 2.4.2, SiteMesh contains some fixes to allow it to work more smoothly on App Engine, as indicated on its blog.
To use older versions of SiteMesh you may need to make modifications to the com.opensymphony.module.sitemesh.Factory.getEnvEntry method and build the JAR file for the library. For more details, see http://groups.google.com/group/google-appengine-java/browse_thread/thread/1e3868a6a2661585.
Spring MVC
Version: 2.5.6
Status: COMPATIBLE
To see Spring's MVC framework running on App Engine, check out the autoshoppe sample application.
If you're using Spring forms (e.g. using the spring-form.tld tag library and subclassing SimpleFormController), you will need to register custom editors for your properties. This is covered in http://groups.google.com/group/google-appengine-java/browse_thread/thread/d93fd7385bf85bf7.
Spring ORM
Version: 2.5.6
Status: COMPATIBLE
To get Spring working with the App Engine-provided JPA interface, follow the instructions at http://objectuser.wordpress.com/2009/05/19/spring-jpa-in-google-app-engine/, which discusses a workaround to the dependency on javax.naming needed for @PersistenceContext. A more complex workaround is available at http://groups.google.com/group/google-appengine-java/browse_thread/thread/187d41712ec1d394.
Spring Security
Version(s): ?
Status: SEMI-COMPATIBLE
To work around a ClassNotFoundException, you can use a re-compiled version of the library which adds a StringInsensitiveComparator class -- the download is provided at http://www.google-app-engine.com/blog/post/Spring-security-fix-for-google-app-engine.aspx.
See http://www.dotnetguru2.org/bmarchesson/index.php?p=1100 for tips on how to get Spring Security running with App Engine and GWT (in French).
See http://groups.google.com/group/google-appengine-java/browse_thread/thread/964e7f5e42840d9c for discussion on the integration.
Stripes Framework
Version(s): ?
Status: COMPATIBLE
The default multipartwrapper implementation needs a temporary directory on the local file system for file uploads, which App Engine doesn't allow. The workaround is to create your own implementation -- more details at http://groups.google.com/group/google-appengine-java/browse_thread/thread/81dbcf7cf2281014.
Struts 1
Version: 1.2.28
Status: COMPATIBLE
Struts 2
Version(s): ?
Status: COMPATIBLE (see notes)
Struts will not initially work because the OGNL permissions which the framework relies on can't be set due to security restrictions in App Engine's sandbox. However, some users have documented a workaround at http://groups.google.com/group/google-appengine-java/browse_thread/thread/19018b0317f27817.
A tutorial is available at http://whyjava.wordpress.com/2009/08/30/creating-struts2-application-on-google-app-engine-gae/.
A tutorial on uploading files using Struts running on App Engine is available at http://whyjava.wordpress.com/2009/10/04/file-upload-on-google-app-engine-using-struts2/.
Will need to set devMode to false in struts.xml: <constant name="struts.devMode" value="false" />
A group post detailing this is here: http://groups.google.com/group/google-appengine-java/browse_thread/thread/b78fea68441eaf4e/4eec677cef795e03
Tapestry
Version: 5.0.18
Status: COMPATIBLE
Version: 5.1
Status: INCOMPATIBLE
Version 5.1 appears to rely on the Woodstox XML processor, which in turn relies on javax.xml.stream.XMLInputFactory, which isn't on the current JRE class white list. No workarounds are known at this time.
Tiles
Version: 2.0.7
Status: COMPATIBLE
Older versions may not work.
Vaadin
Version(s): ?
Status: COMPATIBLE
Vaadin-based applications can be deployed to App Engine. For more, see http://vaadin.com/wiki/-/wiki/Main/Google%20AppEngine%20HOWTO.
VRaptor 2
Version(s): ?
Status: COMPATIBLE
Requires App Engine sessions to be enabled.
VRaptor 3
Version(s): 3
Status: COMPATIBLE
http://vraptor.caelum.com.br/en
Starter template for using VRaptor with App Engine
WebORB
Version(s): ?
Status: COMPATIBLE
A patch was made available shortly after launch to make WebORB compatible with App Engine. The patch is available at http://www.themidnightcoders.com/blog/2009/04/running-weborb-for-java-in-google-app.html.
Wicket
Version(s): ?
Status: SEMI-COMPATIBLE
With a couple of quick workarounds, Dan Walmsley has deployed a basic app that uses Wicket. His write-up is located at http://www.danwalmsley.com/2009/04/08/apache-wicket-on-google-app-engine-for-java/.
Nick Wiedenbrueck has also published a write-up showing how to get a simple Wicket application running on App Engine, located at http://stronglytypedblog.blogspot.com/2009/04/wicket-on-google-app-engine.html.
A tutorial is also available on http://hiroshi-koizumi.appspot.com/google-app-engine/wicket.jsp.
ZK
Version(s): 3.6.2 +
Status: COMPATIBLE
Ajax + Mobile Java framework
A how-to on configuring a ZK-based application to work with App Engine is available at http://docs.zkoss.org/wiki/ZK/How-Tos/Installation/How_to_Integrate_ZK_with_Google_App_Engine.
转自http://groups.google.com/group/google-appengine-java/web/will-it-play-in-app-engine?pli=1
什么用了 inputstream 呢?
For information on a particular framework, language, or library, please search for its name on this page. If the item you are interested is not listed, has incorrect information, or you have a fix for a reported issue, please add a comment to the page.
Java Enterprise Edition (Java EE) Technologies
Supported
While we do not support the entirety of the Java EE specification, many of its individual components are supported. These include:
Java Data Objects (JDO) -- notes
Java Persistence API (JPA) -- notes *
Java Server Faces (JSF) 1.1 - 2.0 **
Java Server Pages (JSP) + JSTL ***
Java Servlet API 2.4 -- notes
JavaBeans™ Activation Framework (JAF)
Java Architecture for XML Binding (JAXB)
JavaMail -- notes
XML processing APIs including DOM, SAX, and XSLT
* For a guide on "converting" between JPA and JDO, see the blog entry at http://objectuser.wordpress.com/2009/07/04/17-minute-jdo/.
** JSF 1.1 appears to be working out-of-the-box. JSF 1.2 and JSF 2.0 should also work if you set the com.sun.faces.enableMultiThreadedStartup context parameter to false to your web.xml file. Setting this parameter to false (it's set to true by default) will prevent additional threads from being spawned. For more information on running JSF 2.0 in App Engine, see this Site.
*** JSP session beans are not supported; to enable EL parsing, add <%@page isElIgnored="false" %> to your JSPs and <%@tag isElIgnored="false" %> to your tag files.
Not supported
There are various APIs and technologies that are not supported by App Engine at present for various reasons. These include:
Enterprise Java Beans (EJB)
JAX-RPC
JAX-WS
Java Database Connectivity (JDBC) **
Java EE™ Connector Architecture (JCA)
Java Management Extensions (JMX)
Java Message Service (JMS)
Java Naming and Directory Interface (JNDI)
Remote Method Invocation (RMI)
** App Engine's underlying datastore is based on BigTable, not a traditional SQL-based RDBMS like MySQL or PostgreSQL. You may either use the low-level datastore API or the JDO or JPA object-relational mapping interfaces provided. Various JDBC wrappers are available for the datastore, and you may still be able to connect to in-memory databases such as the H2 database engine or HSQLDB.
JVM-based Languages
NOTE: All JVM-based languages are subject to the same App Engine sandbox restrictions as Java.
BeanShell
Version(s): ?
Status: COMPATIBLE
CAL
Version(s): ?
Status: COMPATIBLE
CAL, together with the Open Quark framework, can be run on App Engine. More details at http://www.kablambda.org/blog/2009/04/09/functional-programming-on-google-appengine/.
Groovy
Versions: 1.6.1 +
Status: COMPATIBLE
More information is available on the Spring Source blog.
JRuby (Ruby)
Versions: 1.3.1+
Status: COMPATIBLE (see notes)
AppEngine JRuby Code Site: http://code.google.com/p/appengine-jruby/
JRuby AppEngine Blog: http://jruby-appengine.blogspot.com/
Getting Started with Sinatra: http://code.google.com/p/appengine-jruby/wiki/GettingStarted
Running Rails 2.3.5 on AppEngine: http://code.google.com/p/appengine-jruby/wiki/RunningRails
Jython (Python)
Versions: 2.2, 2.5rc4 +
Status: COMPATIBLE
Modjy, used to bridge Jython WSGI applications to those running inside Java servlet containers, is also compatible with App Engine. See http://opensource.xhaus.com/projects/modjy/wiki/ModjyGoogleAppEngine for a quick tutorial.
Quercus (PHP)
Version(s): ?
Status: COMPATIBLE
See http://brian.brispace.net/2009/04/09/php-on-google-app-engine/#post-398 for an example of how to configure your deployment descriptor to work with Quercus.
Rhino (JavaScript)
Version(s): ?
Status: COMPATIBLE
For a quick tutorial demonstrating how to run Rhino and Helma NG on App Engine, see http://dev.helma.org/ng/Running+Rhino+and+Helma+NG+on+Google+App+Engine/.
Jack, a implementation of the JSGI spec with Rhino support, also works with App Engine. A servlet is available.
Scala
Version(s): ?
Status: COMPATIBLE
Scala works out-of-the-box as does the Lift Web Framework for Scala.
Scala Actors do not work, because they are implemented using threads, which are not supported.
Dave Briccetti has posted his experience running Scala with App Engine to his blog.
Miscellaneous Java™ Libraries and Frameworks
Apache Commons FileUpload
Version: 1.2.1
Status: SEMI-COMPATIBLE
The streaming API added in version 1.2.1 works out of the box.
The traditional API is not supported due to dependencies on java.io.File (App Engine does not expose a writable file system), although a custom FileItemFactory implementation that does not rely on writing files should work.
Apache HttpClient
Version: 4
Status: COMPATIBLE
Requires a custom ConnectionManager that wraps UrlFetch. Details are here and here.
Apache POI
Version(s): ?
Status: INCOMPATIBLE
Apache POI relies on several classes not in the JRE class whitelist including java.awt.Color. A bug has been filed at https://issues.apache.org/bugzilla/show_bug.cgi?id=47497.
Base64 (link)
Version(s): ?
Status: COMPATIBLE
BlazeDS
Version: 3.2.0.3978
Status: COMPATIBLE
To workaround an EMFException thrown by flex.messaging.io.amf.AbstractAmfInput, follow Martin Zoldano's workarounds at http://martinzoldano.blogspot.com/2009/04/appengine-adobe-blazeds-fix.html.
You will need to enable sessions to get BlazeDS working.
Compass
Version(s): ?
Status: SEMI-COMPATIBLE
Shay Banon has posted a screencast at http://www.kimchy.org/searchable-google-appengine-with-compass/ which shows the basic configuration changes needed to enable full text search of datastore entities.
To workaround issues with Compass and JPA persistence, see http://forum.compass-project.org/thread.jspa?threadID=216243&tstart=0.
Direct Web Remoting (DWR)
Version(s): 2.0.5, 3.0 RC1
Status: COMPATIBLE
dyuproject (OpenID RelyingParty 2.0 implementation, OAuth consumer and service provider, JSON IOC, lightweight Servlet-based REST framework)
Version(s): ?
Status: COMPATIBLE
Ehcache
Version: 1.6.0
Status: COMPATIBLE
All features work aside from the DiskStore and replication, but workarounds are available. See http://ehcache.sourceforge.net/documentation/googleappengine.html for more.
Facelets
Version: 1.1.14
Status: COMPATIBLE
Force.com Web Service Connector (sfdc-wsc)
Version(s): ?
Status: COMPATIBLE
A pre-built JAR of the App Engine-compatible sfdc-wsc library is available for download at http://code.google.com/p/sfdc-wsc/downloads/list.
Google Data (GData) client library for Java
Version(s): all
Status: COMPATIBLE
As per this FAQ, you need set a specific configuration error to avoid a runtime permissions error. Otherwise, you will see java.security.AccessControlException: access denied (java.net.NetPermission getCookieHandler) when you try to use the library.
Google Web Toolkit (GWT)
Versions: All
Status: COMPATIBLE
The Google Plugin for Eclipse enhances GWT and App Engine cross-development.
Grails
Version: 1.1.1
Status: SEMI-COMPATIBLE
A plugin has been made available which integrates the App Engine SDK with Grails, adding features to upload Grails application automatically and run the local dev server. To download this plugin or see a screencast and tutorial, see http://grails.org/plugin/app-engine.
As of now, you have to use the "grails app-engine run" command rather than "grails run-app", which blocks other plugins that extend run-app including the GWT plugin. More incompatibilities noted in this thread.
GraniteDS
Version(s): ?
Status: COMPATIBLE
Guice
Version(s): ?
Status: SEMI-COMPATIBLE
Notes:
Guice should work if you build it from trunk.
You may have to add a try-catch block to Finalizer.java to prevent a SecurityException from being thrown. More details at http://groups.google.com/group/google-guice/browse_thread/thread/13a63dc40684abe8.
Hibernate
Versions: All
Status: INCOMPATIBLE
You cannot currently use Hibernate directly. The differences between the App Engine datastore and SQL were too great to get the standard Hibernate up and running under App Engine. App Engine does support JDO and JPA, so you may be able to convert your Hibernate code to use one of these ORM interfaces.
ICEfaces
Version(s): 1.8.1
Status: INCOMPATIBLE
iText
Version(s): ?
Status: INCOMPATIBLE
iText relies on several classes not in the JRE class whitelist including java.awt.Color and java.nio.MappedByteBuffer. A bug has been filed at http://sourceforge.net/tracker/?func=detail&atid=365255&aid=2810312&group_id=15255.
ItsNat (http://www.itsnat.org)
Version: 0.7
Status: SEMI-COMPATIBLE
It works including AJAX: http://itsnatfeatshow.appspot.com/servlet?itsnat_doc_name=manual.core.example
Core level works but Comet (undefined thread retention is prohibited in GAE and sometimes a new thread is needed). Use timers (polling).
Most of components do not work because most of them use Swing classes (and some AWT class), these classes are not allowed in GAE.
More info: http://code.google.com/p/googleappengine/issues/detail?id=1313
Java Topology Suite (JTS)
Version(s): 1.10
Status: COMPATIBLE
A JTS + Restlet demo is available at http://iqbalyusuf.wordpress.com/java-topology-suite-google-app-engine-restlet-test/.
A JTS + GWT + Google Maps demo is available at http://giscloud.appspot.com.
JBoss Seam
Version(s): ?
Status: SEMI-COMPATIBLE
See http://ctpjava.blogspot.com/2009/04/jboss-seam-on-google-app-engine-first.html for a list of modifications that need to be made in order to get JBoss Seam working in App Engine's sandbox.
Jena Semantic Framework
Version(s): ?
Status: SEMI-COMPATIBLE
Jena Semantic Framework does not run in App Engine's production environment out-of-the-box since it relies on the restricted java.rmi.server package, but you can make some modifications to its source to get it working. The solutions are detailed at the bottom of http://groups.google.com/group/google-appengine-java/browse_thread/thread/c2c0d27a7ed42562.
Jersey
Version: 1.1.5
Status: COMPATIBLE
Works now and there is a tracing mechanism in place: http://blogs.sun.com/sandoz/entry/jersey_1_1_5_is
Tutorial: http://tugdualgrall.blogspot.com/2010/02/create-and-deploy-jax-rs-rest-service.html
Version: 1.1.5
Status: SEMI-COMPATIBLE
http://blogs.sun.com/sandoz/entry/jersey_apps_can_now_be
Guide for running Jersey on App Engine: http://iqbalyusuf.wordpress.com/google-app-engine-jax-rs-jersey/
log4j
Version(s): ?
Status: COMPATIBLE
MyFaces
Version: 1.1.6, 2.0.0-beta-3
Status: COMPATIBLE
A GAE + MyFaces 2.0.0-beta-3 tutorial is available.
OpenSocial client library for Java
Version(s): 20090402
Status: COMPATIBLE
OSGi
Version(s): ?
Status: SEMI-COMPATIBLE
At least one developer has managed to get OSGi working locally using the Equinox servlet bridge. Details at http://eclipsesource.com/blogs/2009/04/10/osgi-on-appengine/.
An open source port of Felix OSGi called Lemmon is available and has been successfully run on App Engine for Java. See http://lemmon.googlecode.com/.
PDFJet
Version(s): ?
Status: COMPATIBLE
Requires some tweaks to method definitions in several classes (e.g. Image.java, JPGImage.java) to use InputStream instead of File, and remove an AWT dependency in PixelGrabber.java. See http://groups.google.com/group/google-appengine-java/browse_thread/thread/a06dd822a6cee160 for more.
Restlet
Version(s): 2.0 M5 +
Status: COMPATIBLE
The team has created an adaptation of Restlet just for App Engine.
See http://wiki.restlet.org/developers/172-restlet/251-restlet.html for instructions on tuning a standard installation of Restlet for App Engine.
Here's another blog post from the team about Restlet: http://blog.noelios.com/2009/04/11/restlet-in-the-cloud-with-google-app-engine/
RichFaces
Version: 3.1.6
Status: INCOMPATIBLE
RichFaces depends on the javax.imageio package which is presently not listed on the JRE class whitelist.
SiteMesh
Versions: 2.4.2 +
Status: COMPATIBLE
Beginning with version 2.4.2, SiteMesh contains some fixes to allow it to work more smoothly on App Engine, as indicated on its blog.
To use older versions of SiteMesh you may need to make modifications to the com.opensymphony.module.sitemesh.Factory.getEnvEntry method and build the JAR file for the library. For more details, see http://groups.google.com/group/google-appengine-java/browse_thread/thread/1e3868a6a2661585.
Spring MVC
Version: 2.5.6
Status: COMPATIBLE
To see Spring's MVC framework running on App Engine, check out the autoshoppe sample application.
If you're using Spring forms (e.g. using the spring-form.tld tag library and subclassing SimpleFormController), you will need to register custom editors for your properties. This is covered in http://groups.google.com/group/google-appengine-java/browse_thread/thread/d93fd7385bf85bf7.
Spring ORM
Version: 2.5.6
Status: COMPATIBLE
To get Spring working with the App Engine-provided JPA interface, follow the instructions at http://objectuser.wordpress.com/2009/05/19/spring-jpa-in-google-app-engine/, which discusses a workaround to the dependency on javax.naming needed for @PersistenceContext. A more complex workaround is available at http://groups.google.com/group/google-appengine-java/browse_thread/thread/187d41712ec1d394.
Spring Security
Version(s): ?
Status: SEMI-COMPATIBLE
To work around a ClassNotFoundException, you can use a re-compiled version of the library which adds a StringInsensitiveComparator class -- the download is provided at http://www.google-app-engine.com/blog/post/Spring-security-fix-for-google-app-engine.aspx.
See http://www.dotnetguru2.org/bmarchesson/index.php?p=1100 for tips on how to get Spring Security running with App Engine and GWT (in French).
See http://groups.google.com/group/google-appengine-java/browse_thread/thread/964e7f5e42840d9c for discussion on the integration.
Stripes Framework
Version(s): ?
Status: COMPATIBLE
The default multipartwrapper implementation needs a temporary directory on the local file system for file uploads, which App Engine doesn't allow. The workaround is to create your own implementation -- more details at http://groups.google.com/group/google-appengine-java/browse_thread/thread/81dbcf7cf2281014.
Struts 1
Version: 1.2.28
Status: COMPATIBLE
Struts 2
Version(s): ?
Status: COMPATIBLE (see notes)
Struts will not initially work because the OGNL permissions which the framework relies on can't be set due to security restrictions in App Engine's sandbox. However, some users have documented a workaround at http://groups.google.com/group/google-appengine-java/browse_thread/thread/19018b0317f27817.
A tutorial is available at http://whyjava.wordpress.com/2009/08/30/creating-struts2-application-on-google-app-engine-gae/.
A tutorial on uploading files using Struts running on App Engine is available at http://whyjava.wordpress.com/2009/10/04/file-upload-on-google-app-engine-using-struts2/.
Will need to set devMode to false in struts.xml: <constant name="struts.devMode" value="false" />
A group post detailing this is here: http://groups.google.com/group/google-appengine-java/browse_thread/thread/b78fea68441eaf4e/4eec677cef795e03
Tapestry
Version: 5.0.18
Status: COMPATIBLE
Version: 5.1
Status: INCOMPATIBLE
Version 5.1 appears to rely on the Woodstox XML processor, which in turn relies on javax.xml.stream.XMLInputFactory, which isn't on the current JRE class white list. No workarounds are known at this time.
Tiles
Version: 2.0.7
Status: COMPATIBLE
Older versions may not work.
Vaadin
Version(s): ?
Status: COMPATIBLE
Vaadin-based applications can be deployed to App Engine. For more, see http://vaadin.com/wiki/-/wiki/Main/Google%20AppEngine%20HOWTO.
VRaptor 2
Version(s): ?
Status: COMPATIBLE
Requires App Engine sessions to be enabled.
VRaptor 3
Version(s): 3
Status: COMPATIBLE
http://vraptor.caelum.com.br/en
Starter template for using VRaptor with App Engine
WebORB
Version(s): ?
Status: COMPATIBLE
A patch was made available shortly after launch to make WebORB compatible with App Engine. The patch is available at http://www.themidnightcoders.com/blog/2009/04/running-weborb-for-java-in-google-app.html.
Wicket
Version(s): ?
Status: SEMI-COMPATIBLE
With a couple of quick workarounds, Dan Walmsley has deployed a basic app that uses Wicket. His write-up is located at http://www.danwalmsley.com/2009/04/08/apache-wicket-on-google-app-engine-for-java/.
Nick Wiedenbrueck has also published a write-up showing how to get a simple Wicket application running on App Engine, located at http://stronglytypedblog.blogspot.com/2009/04/wicket-on-google-app-engine.html.
A tutorial is also available on http://hiroshi-koizumi.appspot.com/google-app-engine/wicket.jsp.
ZK
Version(s): 3.6.2 +
Status: COMPATIBLE
Ajax + Mobile Java framework
A how-to on configuring a ZK-based application to work with App Engine is available at http://docs.zkoss.org/wiki/ZK/How-Tos/Installation/How_to_Integrate_ZK_with_Google_App_Engine.
转自http://groups.google.com/group/google-appengine-java/web/will-it-play-in-app-engine?pli=1
评论
2 楼
daxiong921
2010-07-19
tidelgl 写道
用了InputStream了,还是不行啊
什么用了 inputstream 呢?
1 楼
tidelgl
2010-07-17
用了InputStream了,还是不行啊
相关推荐
【基于GAE的Demo】是一个使用Eclipse集成开发环境构建的项目,主要展示了如何在Google App Engine(GAE)平台上整合Struts2、Spring和Tiles框架。GAE是Google提供的一个云计算平台,允许开发者在Google的基础设施上...
文件列表中的"spring-gae"可能是一个包含源代码、配置文件和文档的项目,展示了整个集成过程。通过深入研究这些文件,开发者可以学习如何将Spring的特性与GAE的云服务优势相结合,创建高效且易于维护的Web应用。这...
GAE使用规则GAE使用规则GAE使用规则GAE使用规则GAE使用规则GAE使用规则GAE使用规则GAE使用规则GAE使用规则
【压缩包子文件的文件名称列表】: "gae-pytorch-master" 暗示了压缩包包含的是整个项目源代码,可能包括训练脚本、模型定义、数据处理模块、配置文件等。用户可以下载这个压缩包,然后根据项目文档进行安装和运行,...
**图形自动编码器(GAE)在PyTorch中的实现** **一、GAE概述** 图形自动编码器(Graph Autoencoder, GAE)是一种应用于图数据的深度学习模型,它结合了自动编码器(Autoencoder)的思想与图神经网络(Graph Neural...
pass之GAE入门教程, 学习GAE
根据压缩包子文件的文件名称列表 "gae",我们可以推测这个压缩包可能包含以下内容: 1. Google App Engine SDK:包含了开发、部署和管理GAE应用所需的所有工具和库。 2. Python解释器:GAE通常使用的Python版本,...
4. **服务与版本管理**:在GAE上,你可以创建多个版本的服务,以便进行A/B测试或回滚更新。每个版本都可以独立配置,如设置流量分配,以便逐渐将用户引导至新版本。 5. **资源限制**:GAE对应用的运行时间和内存...
`webapp`框架内置在GAE的开发环境中,无需额外安装即可直接使用。 **特点:** - **简洁性**:`webapp` 提供了一种简洁的方式来处理HTTP请求。 - **集成性**:与GAE环境高度集成,易于使用GAE提供的各种服务。 - **...
在给定的文件名称列表中,我们看到了`index.yaml`,这通常是用于定义应用的索引规则,比如URL路由和静态文件处理。 3. **语言和框架**:GAE支持多种编程语言,如Python、Java、Go等。由于没有明确指出使用的语言,...
4. **数据库配置**:如果你使用JDBC操作数据库,确保数据库连接URL中包含了字符集参数,如`useUnicode=true&characterEncoding=UTF-8`。 5. **日志输出**:使用`java.util.logging.Logger`时,可以自定义`Handler`...
云计算下的PaaS中的GAE和SAE平台
4. **设置Django应用**:在Django的`settings.py`文件中,配置数据库连接(GAE使用其自己的数据存储服务,可能需要特殊的适配器),以及添加应用到`INSTALLED_APPS`列表中。 5. **模板系统**:创建`templates`目录...
标题“GAE中整合SSH2的空项目备份”暗示了这个压缩包可能包含了一个Google App Engine (GAE) 应用程序,该应用已经集成了Secure Shell (SSH) 协议的实现,可能是通过SSH2库来实现的。SSH2是一种网络协议,用于安全地...
GAE支持Python、Java、Go等多种编程语言,本案例中很可能是使用Python,因为它是GAE的早期支持语言,并且处理RSS和Web服务非常方便。 接着,应用的核心部分是RSS解析。Python有多个库可以用来解析RSS,例如...
标题中的“gtap,基于GAE的代理”指的是一个名为GTAProxy的项目,它是一个构建在Google App Engine(GAE)平台上的代理服务。这个服务的主要目的是为用户提供访问Twitter API的能力,尤其在某些地区或者特定网络环境...
在GAE环境中,由于其沙盒环境的限制,你需要确保这个库已经包含在你的项目依赖中。你可以通过`requirements.txt`文件列出它: ```txt pyyaml==5.4.1 ``` 在Python代码中,你可以这样读取和解析YAML文件: ```...
4. 由于GAE不支持传统的SQLite数据库,你需要在开发环境中使用如MySQL或PostgreSQL等其他数据库,然后在生产环境中切换到Datastore。 5. 设置`urls.py`文件,确保URL路由正常工作。 6. 在`app.yaml`文件中定义你的...
1. **安装和配置Quercus**:首先,你需要下载Quercus的Java库,并将其添加到你的GAE项目类路径中。这可以通过在你的项目`lib`目录下放置Quercus的JAR文件来完成。 2. **构建PHP处理程序**:创建一个Java类作为PHP...