我想在我的gradle项目中加入'org.scribe:scribe:1.3.2'依赖项,我在build.gradle文件中添加了以下行
apply plugin: 'groovy'
repositories {
mavenCentral()
}
dependencies {
runtime 'org.scribe:scribe:1.3.2'
compile 'org.codehaus.groovy:groovy-all:2.2.0'
}
task fbTask << {
MyTask mT = new MyTask()
mT.loginUsingFacebook();
}
现在在MyTask.groovy内部
import org.scribe.model.Token
public void loginUsingFacebook() {
Token accessToken = //some code
}
它没有找到导入,这表明我们在build.gradle中指定的划线依赖关系不起作用。
那么,如何将这个划线依赖项导入到应用程序中,以便我可以在我的Task类中使用它。
答案 0 :(得分:2)
这里有一些误解:
project.dependencies
块中声明的依赖关系是针对构建生成的代码,而不是针对构建使用的代码。
无法使用new
实例化Gradle任务。
如何添加构建本身使用的依赖项(通常由构建脚本,任务类或插件类),这取决于您放置相应代码的位置。在最简单的情况下,任务类在构建脚本中声明正确,其依赖关系进入buildscript
块:
buildscript {
repositories {
mavenCentral()
}
dependencies {
classpath "org.scribe:scribe:1.3.2"
}
}
要详细了解这些主题,请查看Gradle User Guide以及完整Gradle分发中的示例。
答案 1 :(得分:1)
如果要向buildscript(build.gradle
)的类路径添加内容而不是项目源,请将其添加到buildScript
闭包。
buildscript {
repositories {
mavenCentral()
}
dependencies {
classpath 'org.scribe:scribe:1.3.2'
}
}
参考:在Gradle文档的Organizing Build Logic章节中,请参阅构建脚本的外部依赖项
部分