Hadoop 如何从插件本身以编程方式访问Gradle插件依赖项?

Hadoop 如何从插件本身以编程方式访问Gradle插件依赖项?,hadoop,gradle,Hadoop,Gradle,我正在开发一个Hadoop测试Gradle插件。在迷你纱线集群模式下,Hadoop将java.class.path中的所有内容添加到衍生子流程的环境中。为了使子流程正常运行,某些Hadoop JAR需要位于类路径上 即使我的插件声明了对所需Hadoop jar的compile依赖关系,但在执行应用该插件的项目的构建脚本时,java.class.path被设置为/…/gradle-2.3/lib/gradle-launcher-2.3.jar,并且不包含任何Hadoop jar,从而导致子进程失败

我正在开发一个Hadoop测试Gradle插件。在迷你纱线集群模式下,Hadoop将
java.class.path
中的所有内容添加到衍生子流程的环境中。为了使子流程正常运行,某些Hadoop JAR需要位于类路径上

即使我的插件声明了对所需Hadoop jar的
compile
依赖关系,但在执行应用该插件的项目的构建脚本时,
java.class.path
被设置为
/…/gradle-2.3/lib/gradle-launcher-2.3.jar
,并且不包含任何Hadoop jar,从而导致子进程失败


因此,我希望我的插件能够以编程方式访问它自己的
编译
依赖项,并在运行时将它们添加到
java.class.path
。这可能吗?

当应用插件时,您将获得对
项目
类实例的引用。通过此引用,您可以获得项目依赖项(似乎这不是您所寻找的)以及构建脚本本身的依赖项。可通过以下方式完成:

project.buildscript.dependencies 

是旅程的起点。

我的答案有用吗?谢谢你的回答,但我不想访问应用我的插件的项目的buildscript依赖项;我想要访问插件的buildscript依赖项。你能提供一个例子吗?例如,我在buildSrc文件夹中定义了我的插件,插件的build.gradle文件在Hadoop jar上有一个“compile”依赖项。如何从插件的Java代码中以编程方式访问此依赖关系?您是否在某个地方有SSCCE联机?准备好跑步了吗?