当前位置: 首页 > 面试题库 >

如何在Gradle中的buildSrc下的自定义任务中使用第三方依赖项

冯嘉珍
2023-03-14
问题内容

我已按照本指南使用Gradle创建自定义任务。 http://www.ysofters.com/2015/02/26/how-to-create-
gradle-project-with-custom-task-classes-in-
groovy/


我也查看了gradle文档。https://docs.gradle.org/current/userguide/custom_tasks.html

非常清楚,我可以得到示例来编译和使用任务,因此到目前为止一切都很好。

但是,示例仅显示gradle api文件的导入,即

import org.gradle.api.DefaultTask
import org.gradle.api.tasks.TaskAction

我想添加更多的依赖,即

import org.springframework.beans.factory.config.YamlPropertiesFactoryBean
import org.springframework.core.io.FileSystemResource

但我可以这样做-gradle会抱怨并说“无法解决课程..”

我也尝试在build.gradle的buildscript-> dependencies闭包下设置spring-core和apache-
commons,但是没有任何区别,即

buildscript {
 dependencies {

        classpath group: 'org.springframework', name: 'spring-core', version: springVersion
        classpath group: 'org.apache.commons', name: 'commons-lang3', version: '3.4'
      .....

因此,我缺少什么-如何在自定义任务类中使用第三方依赖关系?


问题答案:

您需要将一个build.gradle文件放入buildSrc目录。您可以buildSrc/build.gradle从gradle项目本身签出文件作为示例:https
:
//github.com/gradle/gradle/blob/v4.1.0/buildSrc/build.gradle



 类似资料:
  • 我已经按照这份指南使用Gradle创建了一个自定义任务。http://www.ysofters.com/2015/02/26/how-to-create-gradle-project-with-custom-task-classes-in-groovy/I还查看了gradle文档。https://docs.gradle.org/current/userguide/custom_tasks.html

  • 我正在写一些gradle插件,现在我遇到了一个问题,DriverManager看不到buildscript依赖项中定义的JDBC驱动程序: 我有下一个build.gradle文件: 当我调用扩展DefaultTask的任务中定义的命令时

  • 在另一个项目中,我使用/应用这个插件: 但是如何从MyGradlePlugin.groovy中的apply方法中迭代公共依赖项并打印它们的坐标(artifactId、groupId、version)?

  • 嗨,如果我用任务列出所有任务--我看到所有导入的ant任务,但是当我试图创建依赖于ant任务的任务时,我得到的是“Could not determine the dependencies of task':testgradle'”。 出现问题的行:-它显然看不到ant init任务。 我做错了什么? 所有编译-编译主源树java文件 byWorld5 copyTestConfiguration-复

  • 我正在尝试创建一个自定义任务/插件(两者都拒绝工作),用于我的gradle构建脚本。 我正在使用groovy插件,希望在单独的文件中声明任务/插件,而不是在我的构建中。格拉德尔。 我的项目树如下所示: 我试图做的是在中创建我的任务/插件类,然后在。 让我举一个小例子。 TestTask。groovy: build.gradle 当我尝试使用我的gradle.build(清洁,构建等)做任何事情时,