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