使用位于另一个文件夹中的 .groovy 文件中的类 (Gradle)

2023-12-29

我有这个构建.gradle工作正常的文件:

class Utils  {
  def doit(){
    println "hi from utils"
  }
}

task hello << {
  def utils = new Utils()
  utils.doit();
}

如果我将 class/.groovy 文件移动到如下子文件夹:

test
 -> groovy
     -> Utils.groovy
 -> build.gradle

并将 build.gradle 文件修改为:

dependencies {
    runtime fileTree(dir: 'groovy', include: '*.groovy')
}

task hello << {
  def utils = new Utils()
  utils.doit();
}

无法再找到 Utils 类:

...unable to resolve class Utils

我假设子文件夹groovy应作为导入/条目添加到 .gradle 文件中的类路径/依赖项上。我已阅读这些页面:

http://gradle.org/docs/current/userguide/dependency_management.html http://gradle.org/docs/current/userguide/dependency_management.htmlhttp://gradle.org/docs/current/userguide/custom_plugins.htmlhttp://gradle.org/docs/current/userguide/custom_tasks.html http://gradle.org/docs/current/userguide/custom_tasks.html

但尚未找到任何描述如何在 .gradle 文件中导入 .groovy 文件的文档。我缺少哪一页描述这个简单的功能?


如果你将 build.gradle 更改为

task hello << {
  def utils = new Utils()
  utils.doit();
}

然后代替

test
 -> groovy
     -> Utils.groovy
 -> build.gradle

移动Utils.groovy文件至buildSrc/src/main/groovy像这样:

test
 -> buildSrc
     -> src
         -> main
             -> groovy
                 -> Utils.groovy
 -> build.gradle

gradle 应该会自动拾取它。

请参阅“41.4. 在 buildSrc 项目中构建源”部分文档 https://docs.gradle.org/current/userguide/organizing_build_logic.html了解更多信息。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用位于另一个文件夹中的 .groovy 文件中的类 (Gradle) 的相关文章

随机推荐