Java Runtime library emulated by GWT

接触GWT时间不长,见过一些编译错误,比如在Client端引用了某个Jar包,或者诸如java.util.Calendar之类,在编译时就会提示:

[INFO][ERROR] Line xxx: No source code is available for type java.util.C
alendar; did you forget to inherit a required module?

自己也曾模糊地意识到GWT其实会把Client端的代码编译为JavaScript代码,出现诸如此类错误的原因大致就是,我们所引用的类或jar包,GWT并不知道如何将之编译为JavaScript。那其实让人很好奇,GWT到底自己实现了那些Java类到JavaScript的编译呢? 曾经很天真的认为只要实现了java.io.Serializable接口的类都会被识别并编译,但 java.util.Calendar 确实实现了 Serializable接口,看来事情并不像我想象的那样简单。

今天恰巧在stackoverflow上看到一个这样的问题,回答者给出了文档链接,汗颜,看来GWT的文档还是看得太少了啊!https://developers.google.com/web-toolkit/doc/latest/RefJreEmulation?hl=zh-CN  据文档说明,如下所列举的类可以被GWT自动转化成为JS代码,但是某些情形下,对于某些类型,只有一部分方法可以实现转化。具体可以自己参看说明,就不赘述了。

java.lang
java.lang.annotation
java.math
java.io
java.sql
java.util
java.util.logging
 

相关推荐