在Gradle构建脚本中使用Java类

我有一个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() 。 我读了这篇关于如何在Gradle中使用Groovy类的文章 ,但是我需要我的Java类来自外部JAR文件。 如何在构建源中添加jar? 似乎dependencies块阻止不会做我期望它做的事情。 谁能给我一个正确方向的提示?

依赖项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() } 

现在它应该工作。