2012-06-07 142 views
2

我做了一個簡單的的Hello World GWT使用JSNI的例子。它什麼都不做,只是顯示一條消息。JSNI的Hello World不工作

這是在入口點類代碼:

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) 

任何想法,爲什麼?

回答

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!"); 
    } 
} 
+0

非常感謝我的身影在xml配置的問題。只是有超過一個入口點在gwt.xml文件中定義 –

0

你可能不運行在DevMode的這個代碼,但在一個普通的JVM,其中GWT不能做其魔術

+0

不,我在開發模式:(運行它 –