3
找物业我做了自定义任务,名称MySqlTask.groovygradle这个,不能在buildSrc
import org.gradle.api.DefaultTask
import org.gradle.api.tasks.TaskAction
public class MySqlTask extends DefaultTask {
def hostname = 'localhost'
def sql
@TaskAction
def runQuery() {
//to do something...
}
}
而且,我把这个文件rootProject/buildSrc/src目录/主/常规。
我的构建文件是customtasksourcetree.gradle。
任务的CreateDatabase(类型:MySqlTask){SQL = 'CREATE DATABASE IF NOT EXISTS例如'}
当运行用的gradle然后customtasksrc.gradle引发错误这样。
FAILURE: Build failed with an exception.
* Where:
Build file '/Users/need4spd/Programming/Java/workspace/gradleTest/customtasksourcetree.gradle' line: 1
* What went wrong:
A problem occurred evaluating root project 'gradleTest'.
> Could not find property 'MySqlTask' on root project 'gradleTest'.
我读过了,我的buildSrc中的自定义任务文件将在编译时自动编译并添加到classpath中。
我可以在buildSrc/build/classes中看到已编译的MySqlTask.class。
有什么问题?谢谢。
我需要导入我自定义任务在我的构建脚本的事实,你有没有在你的构建脚本导入MySqlTask?在http://www.gradleware.com/registered/books/building-and-testing/tasks.html中没有提及它。我会试着找到它。谢谢!。 – 2013-04-26 00:03:31
如果您的任务类具有'package'语句,则您(仅)必须使用导入。显然你的不。尝试如果'gradle --stop'后面有一个干净的版本有帮助。也尝试删除'.gradle'目录。 – 2013-04-26 18:48:25
Peter Niederwieser它的工作原理!谢谢! – 2013-04-30 07:22:25