在Gradle构建脚本中使用Java类

时间:2014-10-11 12:31:02

标签: java groovy gradle

我有一个Gradle构建脚本,它必须在Task中实例化Java类并在创建的对象上调用方法。目前,我有以下内容:

apply plugin: 'java'

dependencies {
    compile files("libs/some.library.jar")
}

task A << {

    def obj = new some.library.TestClass()
    obj.doSomething()

}

问题是找不到类some.library.TestClass()。我阅读this article关于如何在Gradle中使用Groovy类,但我需要我的Java类来自外部JAR文件。如何在构建源中添加jar?似乎dependencies块没有按照我的预期去做。任何人都可以给我一个正确方向的暗示吗?

1 个答案:

答案 0 :(得分:7)

依赖项compile files("libs/some.library.jar")作为项目依赖项添加,而不是脚本依赖项本身。您需要做的是在脚本的classpath范围中添加此依赖项。

apply plugin: 'java'

buildscript {
   dependencies {
      classpath files("libs/some.library.jar")
   }
}

task A << {
    def obj = new some.library.TestClass()
    obj.doSomething()
}

现在应该可以了。