2

我使用 JSNI完成了一个简单的Hello World GWT 示例。它只显示一条消息。

这是 EntryPoint 类中的代码:

public void onModuleLoad() {
  // TODO Auto-generated method stub
  alert("Hello World!");
 }
 native void alert(String msg) /*-{
  $wnd.alert(msg);
 }-*/;
}

我看到了这个异常:

java.lang.reflect.InvocationTargetException
 at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
 at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)

知道为什么吗?

4

2 回答 2

1

我创建了示例 GWT 项目并将您的代码复制到入口点,它运行良好。我认为你有一个更深层次的设置问题。我会查看您的 *.gwt.xml 文件并确保它没有格式错误并检查您的 GWT 库引用等。同时打开运行配置并确保它是一个 Web 应用程序。

    /**
 * Entry point classes define <code>onModuleLoad()</code>.
 */
public class So implements EntryPoint {


    native void alert(String msg) /*-{ 
      $wnd.alert(msg); 
     }-*/; 

    /**
     * This is the entry point method.
     */
    public void onModuleLoad() {

        alert("Hello World!"); 
    }
}
于 2012-06-08T01:09:34.220 回答
0

您可能不会在 DevMode 中运行此代码,而是在普通 JVM 中运行,GWT 无法发挥它的魔力

于 2012-06-07T16:23:46.043 回答