基本上我甚至无法在常规GWT EntryPoint中导入Groovy类:
import com.google.gwt.core.client.EntryPoint; // OK import groovy.lang.Binding; // NOT OK import groovy.util.GroovyScriptEngine; // NOT OK
Intellij 8.0的检查员一直告诉我:
类'groovy.lang.Binding'在JRE仿真库中不存在,因此不能在客户端代码中使用
类'groovy.util.GroovyScriptEngine'在JRE仿真库中不存在,因此无法在客户端代码中使用
显然我在运行时也遇到了问题:
[错误]第11行:没有源代码可用于groovy.util.GroovyScriptEngine类型;你忘了继承一个必需的模块吗?
[错误]第12行:没有源代码可用于groovy.lang.Binding类型;你忘了继承一个必需的模块吗?
我已经多次检查过我的模块的依赖项,并且在那里正确定义了groovy-all-1.6.1.jar。我可能在其他地方遗漏了一些东西......
有什么想法吗?
答案 0 :(得分:2)
尝试使用Groovy没有任何意义,因为Gwt编译器只能理解Java语言语法,它是Java库的子集。编译器适用于源而非字节代码。一个原因包括隐藏javascript(JSNI)所需的魔术评论。编译器实际上正在扫描* .java而不是* .class文件的源路径。
更深入地了解doco fir。
答案 1 :(得分:1)
在某种意义上说,拥有一个时髦的语言gwt会很酷。
但是为什么要从一种动态语言转到另一种呢?我认为gwt的目的是获得静态类型和简单的java调试。