次を含むフォルダーテストがあります:
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メソッドを指定できることを知っています。しかし、どのメソッドを直接呼び出すかを制御できれば便利です。