我有一个Gradle构建脚本,它必须在Task中实例化一个Java类并在创建的对象上调用一个方法.目前,我有以下内容:
apply plugin: 'java'
dependencies {
compile files("libs/some.library.jar")
}
task A << {
def obj = new some.library.TestClass()
obj.doSomething()
}
Run Code Online (Sandbox Code Playgroud)
问题是some.library.TestClass()找不到类.我读了这篇关于如何在Gradle中使用Groovy类的文章,但我需要我的Java类来自外部JAR文件.如何在构建源中添加jar?似乎该dependencies块没有做我期望它做的事情.任何人都能给我一个正确方向的暗示吗?
我有这个build.gradle文件,它工作正常:
class Utils {
def doit(){
println "hi from utils"
}
}
task hello << {
def utils = new Utils()
utils.doit();
}
Run Code Online (Sandbox Code Playgroud)
如果我将 class/.groovy 文件移动到这样的子文件夹:
test
-> groovy
-> Utils.groovy
-> build.gradle
Run Code Online (Sandbox Code Playgroud)
并将 build.gradle 文件修改为:
dependencies {
runtime fileTree(dir: 'groovy', include: '*.groovy')
}
task hello << {
def utils = new Utils()
utils.doit();
}
Run Code Online (Sandbox Code Playgroud)
Utils 类无法再找到:
...unable to resolve class Utils
Run Code Online (Sandbox Code Playgroud)
我假设应该将子文件夹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 文件的文档。我缺少哪个页面来描述这个简单的功能?