我有文件夹测试包含:
test
-> groovy
-> MyClass.groovy
-> build.xml
MyClass.groovy文件包含:
class MyClass {
void firstMethod(int i) {
println i
}
String secondMethod(String txt) {
return txt + "added text"
}
static void main(String[] args) {
}
}
在我的build.xml文件中(基于http://docs.codehaus.org/display/GROOVY/The+groovy+Ant+Task):
<target name="run-groovy-script-test">
<groovy src="groovy/MyClass.groovy">
<classpath>
<pathelement location="groovy"/>
</classpath>
def aClass = new MyClass()
aClass.secondMethod("asd")
</groovy>
</target>
运行上述给出:
groovy.lang.MissingMethodException: No signature of method: MyClass.secondMethod() is applicable for argument types: (java.lang.String) values: [some-text]
解决方案:删除 src 属性 - 请参阅下面的评论。
我知道我可以在 .groovy 文件中指定一个main方法,该方法将使用上述方法自动执行。但是控制应该直接调用哪些方法可能会很好。