GWT + ProcessBuilder

Posted

技术标签:

【中文标题】GWT + ProcessBuilder【英文标题】: 【发布时间】:2010-03-10 00:39:18 【问题描述】:

是否可以将 ProcessBuilder 与 GWT 一起使用?当我声明一个新 ProcessBuilder 的实例时,我得到:

java.lang.ProcessBuilder is not supported by Google App Engine's Java runtime environment

【问题讨论】:

【参考方案1】:

您的问题是关于 GWT 支持 ProcessBuilder,但您收到的错误来自 Google App Engine,与 GWT 无关。

如果您从 GWT RPC 方法中使用 ProcessBuilder,您应该没有任何问题。但是,您使用 Google App Engine 作为您的应用程序服务器。 Google App Engine 不支持 ProcessBuilder,GAE 也不支持其他一些东西。

查看Will it play in Google App Engine? 作为参考,了解 GAE 是否支持您的特定功能。

请务必注意,Google App Engine 不支持 ProcessBuilder。 GWT 在其 RPC 中使用常规 Java,因此可以在其中使用 ProcessBuilder。

【讨论】:

您能多解释一下 RPC 吗?如何将 RPC 与我的 GWT 应用程序的其余部分集成? 远程过程调用 (RPC) 是 GWT 用于与服务器通信的主要机制。 RPC 是在服务器上运行的常规 Java 字节码,因此您基本上可以使用任何 Java 类作为 RPC 代码的一部分。阅读更多官方文档:code.google.com/webtoolkit/doc/latest/… 对;但是我在哪里插入调用 ProcessBuilder 的代码? 在扩展 RemoteServiceServlet 的类中: public class MyServiceImpl extends RemoteServiceServlet implements MyService public void myMethod(String s) //在此处使用 ProcessBuilder,或者您需要的任何内容。 【参考方案2】:

如果您没有构建项目以在 Google App Engine 上进行部署,请关闭 Google Eclipse 插件中的 GAE。

google eclipse 插件适用于 GWT 和 GAE。在项目属性 -> Google,您可以单击打开/关闭以启用/禁用 GAE 或 GWT。

如果您只为 GWT 构建而不是为部署在 Google 的网络托管服务上,请关闭 GAE 功能。

【讨论】:

有趣——我想这就是我要走的路 Nvm ...我正在集成的项目需要 AppEngine for Datastore【参考方案3】:

错误消息很清楚,Google App Engine 不支持此功能。

试图找到使用 ProcessBuilder 的解决方法是一个坏主意,为什么要主动规避主机的策略?听起来像是主人不想再接待你的一种方式。

关于如何完成您需要 ProcessBuilder 的任何事情,可能有更好的或其他想法,您可以在此处发布它们以获得一些建议。

【讨论】:

以上是关于GWT + ProcessBuilder的主要内容,如果未能解决你的问题,请参考以下文章

GWT:XSRF:零星缺少 X-GWT-Permutation 标头

GWT RPC 未生成正确的 gwt.rpc 文件

解码根据 GWT 的序列化策略生成的 *.gwt.rpc 文件

GWT Spring 安全集成(纯 GWT,无 JSP)

在与 GWT Module Base 不同的上下文中调用 GWT 服务?

GWT - 偶尔出现 com.google.gwt.user.client.rpc.SerializationException