0

有没有人使用 Groovy 语言成功实现 IBM Worklight 5.0.6 适配器?IE。与其从 JS 适配器调用 Java 类,不如调用 Groovy 类。我们已经尝试过了,它似乎大部分时间都可以正常工作,但是在调用适配器过程时,我们会随机出现奇怪的错误。IE。

Failed to create DGM method proxy : java.lang.NoSuchMethodException: org.codehaus.groovy.runtime.dgm$24.<init>(java.lang.String, org.codehaus.groovy.reflection.CachedClass, java.lang.Class, [Ljava.lang.Class;)
FWLSE0101E: Caused by: java.lang.NoSuchMethodException: org.codehaus.groovy.runtime.dgm$24.<init>(java.lang.String, org.codehaus.groovy.reflection.CachedClass, java.lang.Class, [Ljava.lang.Class;)

执行 Groovy 代码的单元测试在 Eclipse 中运行良好,并且 Groovy 代码似乎可以很好地编译为 .class 文件并包含在适配器包中。我们想知道这是 Groovy 本身的问题还是在 Worklight 服务器容器中调用 Groovy 的问题。我相信 Worklight 在幕后使用 Rhino,这也可能是罪魁祸首?

我们正在使用 Groovy 2.1.5 和 Eclipse 插件 2.8

4

2 回答 2

0

您是否打开 .war 并检查是否所有已编译的类和库实际上都在其中?我们经常遇到这样的情况,即 WL Eclipse 插件/构建没有为“服务器”文件夹中的适配器编译和打包我们的 Java 类......它们在我们部署的 .war 文件中丢失了,我们得到了各种各样的Rhino、ClassNotFound 等错误。

于 2013-07-13T21:57:45.367 回答
0

除了之前的答案。您始终可以通过在 Enterprise Explorer 或 Navigator 视图中选择项目来强制重建,然后选择菜单 Project -> Clean -> Clean Projects Selected below(唯一的选择应该是您的项目)。

这将清理二进制文件,然后重建整个项目。

于 2013-07-18T23:37:28.290 回答