我想從現有的Java項目生成Javascript代碼(original question here)。gwt-exporter不生成代碼(Java to Javascript)
我將GWT與gwt-exporter結合使用。在我進行GWT編譯後,我的任何類型都不會出現在任何生成的代碼中。
我
GameEntryPoint.java
package game.client;
import org.timepedia.exporter.client.ExporterUtil;
import com.google.gwt.core.client.EntryPoint;
import com.google.gwt.core.client.JavaScriptObject;
public class GameEntryPoint implements EntryPoint {
@Override
public void onModuleLoad() {
ExporterUtil.exportAll();
}
}
RoadServer.java
package game.client;
import org.timepedia.exporter.client.Exportable;
public class RoadServer implements Exportable {
int _index;
int _id;
public RoadServer(int index,int id){
this._id=id;
this._index=index;
}
}
還有就是RoadServer
我war/
目錄的任何地方沒有引用(grep -Ri RoadServer war/*
比賽只.class
文件)。另外,爲了確保,我在瀏覽器(Firefox)中打開了war/GameEntryPoint.html
文件,Firebug僅將game_GameEntryPoint
看作以game
開頭的內容。
任何想法,爲什麼這不工作?
P.S.我也試過指定@Export
和@Export("RoadServer")
與@ExportPackage("game")
。什麼都沒有
+1爲好的答案! – GingerHead 2012-04-07 22:51:37
謝謝。我不得不在構造函數和類上添加'@ Export'註釋以使其正常工作,但它終於實現了。另外,我有一個類的方法返回一個自定義類型的數組。改變這些來填充給定的數組也修復了這個問題。遺憾的是gwt-exporter上的文檔沒有列出這些問題。 – Yuval 2012-04-07 22:54:35
可導出的類需要一個無參數構造函數,或者一個接受JavaScriptObject的構造函數。如果它出現編譯時錯誤或警告,如果它不能導出出於此原因標記爲@Export的類,那將會很好。 – funkybro 2012-04-08 08:45:27