gradle,在buildSrc中找不到属性

时间:2013-04-25 07:59:42

标签: gradle

我制作了自定义任务,名称为MySqlTask​​.groovy

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 / main / groovy中。

我的构建文件是customtasksourcetree.gradle。

  

task createDatabase(type:MySqlTask​​){sql ='如果没有,则创建数据库   EXISTS示例'}

当我使用customtasksrc.gradle运行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中的自定义任务文件将在编译期间自动编译并添加到类路径中。

我可以在buildSrc / build / classes中看到已编译的MySqlTask​​.class。

有什么问题?感谢。

1 个答案:

答案 0 :(得分:4)

我认为问题是由于您没有在构建脚本中导入MySqlTask​​