GWT.create() 目前在 gwt trunk 中的纯 java 中受支持。我自己在一个 playn 项目中使用它{尽管有一点小故障:强制 GWT 编译器停止修剪无效的 CompilationUnits }。
如果您下载并构建主干,您将能够通过为导致错误的任何类注册 ClassInstantiators 来规避 GWT.create() 问题。在这种情况下,Window 类有一个 WindowImpl 的静态实例,当 jvm 遇到 Window 类时会抛出此错误。如果为 WindowImpl 注册 ClassInstantiator,则不会发生这种情况。不幸的是,Window.alert 方法直接使用原生 js,所以它可能仍然会轰炸你。
如果您不知道如何/想要从主干构建 gwt,请给我发送电子邮件,我可以将罐子发送给您。如果您仍然对 .alert() 作为本机方法有疑问,请告诉我,我将创建一个自定义主干构建,将 .alert() 延迟到 WindowImpl 单例中,这样您就可以让它做一些有意义的事情,比如弹出一个警报消息;-}
如果您喜欢冒险,请下载 gwt trunk,进入 Window,将静态警报方法复制到 WindowImpl 上的实例级方法中,将原始方法委托给 WindowImpl,然后在您的 java 代码中调用 ServerGwtBridge.register(WindowImpl.class , new ClassInstantiator(){...}),并返回你想要的任何实现 .alert() 在 java 和 android 中。