0

我正在用 GWT 编写一个应用程序,我想将它部署到 Google App Engine。我想使用 JRE 中的一些类,例如java.io.BufferedReader; java.net.URL javax.crypto.Cipher java.util.zip.InflaterInputStream,列在JRE Class White List- https://developers.google.com/appengine/docs/java/jrewhitelist

我正在使用 eclipse,当我尝试在本地运行我的应用程序时,编译器会抛出类似[ERROR] [gwtlist] - Line 46: No source code is available for type java.net.URL; did you forget to inherit a required module?.

Google App Engine General Questions- https://developers.google.com/appengine/kb/general#language中说: ...Also, Java-based applications may only use the JRE classes in the JRE class white list.

我的问题是我的想法是对还是错?这JRE Class White List可以在客户端使用,还是仅对服务器端代码有用?在这种情况下,我不需要使用 Google App Engine,因为所有客户端代码都必须仅使用来自- https://developers.google.com/web-toolkit/doc/latestGWT的一些 java 类纯编写/RefJreEmulation?hl=es-419#Package_java_io。在这种情况下,Google App Engine 的目标是什么?只是模拟服务器吗?JRE Emulation Reference

编辑:如果 Google App Engine 只能在服务器端模拟 JRE 类,你能告诉我应用程序在哪里运行吗?我的意思是:

应用程序部署在 Google App Engine 上。
客户端运行应用程序并登录。
服务器端代码打开其他服务器上的外部文件,解压缩并将结果发送到客户端。

我的问题是它是如何transfer工作的?是谷歌云里面的所有东西,还是客户端必须下载这个未压缩的文件?``

4

1 回答 1

1

Appengine 代码仅在服务器端。

如果它是客户端代码,您可以在 GWT 中使用未在 AE 上列入白名单的类。无论如何它都会被编译成javascript。但是,您用于通过 GWT 从客户端进行 rpc 调用的任何服务器端代码都需要在 AE 白名单中,因为它正在那里运行。

错误“No source code is available for type java.net.URL”源于 GWT。基本上它正在寻找 src 以便编译成 javascript。GWT 也有一个可以编译的东西的白名单,除此之外,您需要 src,除非您在 *.gwt.xml 文件中将其作为 GWT 模块继承。请参阅https://developers.google.com/web-toolkit/doc/latest/RefJreEmulation

于 2012-06-19T10:45:29.550 回答