以下是我需要通过我的任务调用的类文件。类文件使用spock框架。
Class RunTool extends Specification{
blah blah...
Properties collectData(){
setup:
blah blah...
expect:
blah blah...
cleanup:
blah blah...
where:
blah blah...
}
public static void main(String[] args) {
RunTool rt = new RunTool()
rt.collectData()
}
}
运行此类文件的gradle任务如下:
apply plugin: 'groovy'
apply plugin: 'application'
mainClassName = 'com.package.RunTool'
task runBaselineFileTool(type:JavaExec, dependsOn:deploy) {
classpath = sourceSets.main.runtimeClasspath
main = 'com.package.RunTool'
}
但是我收到以下错误:
Exception in thread "main" groovy.lang.MissingMethodException: No signature of method: com.Package.RunTool.collectData() is applicable for argument types: () values: []
Possible solutions: collect(), collect(groovy.lang.Closure), collect(java.util.Collection, groovy.lang.Closure)
at org.codehaus.groovy.runtime.ScriptBytecodeAdapter.unwrap(ScriptBytecodeAdapter.java:56)
at org.codehaus.groovy.runtime.callsite.PogoMetaClassSite.call(PogoMetaClassSite.java:51)
at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:45)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:110)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:114)
at com.Package.RunTool.main(RunTool.groovy:72)
所以,如果有人可以帮我解决这个问题?我的意图是使用gradle任务运行类文件。