我有一个使用GroovyClassLoader
运行嵌入式groovy脚本的Java应用程序。一切都运行良好,直到我将Java类型传递给Groovy脚本时遇到奇怪的错误。
我的问题是:我将java.util.Date
作为参数传递给groovy脚本。我发现Groovy的java.util.Date有一个很棒的clearTime()函数。但是,当我尝试调用此函数时,我得到了这个异常:
groovy.lang.MissingMethodException: No signature of method: java.util.Date.clearTime() is applicable for argument types: () values: []
我假设这是因为我有一个Java Date而不是Groovy Date。有没有办法在两者之间进行转换。
我承认我并不完全理解Groovy如何覆盖jdk类型。 (所以我甚至不知道这是否是在这里使用的正确术语。)如果我在Groovy内部创建java.util.Date时遇到的问题完全错误,请通知我。来自Java的函数。
答案 0 :(得分:0)
好的我在这里发现了我的故障。我的测试应用程序根据需要绑定了常规1.8.6,但我的主程序是使用1.6.5(我碰巧尝试调用的函数是在1.6.7中引入的)。当我更新我的pom.xml时,Eclipse决定不使用新版本运行。