我有这个 build.gradle 文件可以正常工作:
class Utils {
def doit(){
println "hi from utils"
}
}
task hello << {
def utils = new Utils()
utils.doit();
}
如果我将class / .groovy文件移动到这样的子文件夹:
test
-> groovy
-> Utils.groovy
-> build.gradle
并将build.gradle文件修改为:
dependencies {
runtime fileTree(dir: 'groovy', include: '*.groovy')
}
task hello << {
def utils = new Utils()
utils.doit();
}
无法再找到Utils类:
...unable to resolve class Utils
我假设应将子文件夹 groovy 添加为.gradle文件中类路径/依赖项的导入/条目。我看过这些页面:
http://gradle.org/docs/current/userguide/dependency_management.html http://gradle.org/docs/current/userguide/custom_plugins.html http://gradle.org/docs/current/userguide/custom_tasks.html
但无法找到任何描述如何在.gradle文件中导入.groovy文件的文档。我错过了什么页面描述了这个简单的功能?
答案 0 :(得分:4)
如果您将build.gradle更改为
task hello << {
def utils = new Utils()
utils.doit();
}
然后代替
test
-> groovy
-> Utils.groovy
-> build.gradle
将Utils.groovy
文件移至buildSrc/src/main/groovy
,如下所示:
test
-> buildSrc
-> src
-> main
-> groovy
-> Utils.groovy
-> build.gradle
并且gradle应该自动拾取它。
有关详细信息,请参阅the documentation中的“41.4。在buildSrc项目中构建源代码”部分。