在Gradle构建脚本中使用Java类

WeS*_*eSt 4 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()

}
Run Code Online (Sandbox Code Playgroud)

问题是some.library.TestClass()找不到类.我读了这篇关于如何在Gradle中使用Groovy类的文章,但我需要我的Java类来自外部JAR文件.如何在构建源中添加jar?似乎该dependencies块没有做我期望它做的事情.任何人都能给我一个正确方向的暗示吗?

Opa*_*pal 9

依赖项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()
}
Run Code Online (Sandbox Code Playgroud)

现在它应该工作.