当前位置: 首页 > 知识库问答 >
问题:

如何使用Gradle以扁平形式获得项目依赖项列表?

程昕
2023-03-14

我知道Gradle有一个出色的dependencies任务,它列出了项目的所有依赖项。但是,它将以树状列表的形式返回它们。

我想要得到一个列表的所有我的依赖,因为他们是在一个简单的列表中解决的。类似于Maven依赖插件list目标的行为。

共有1个答案

王渊
2023-03-14

下面是一个满足这种需要的简短任务:

task('dependenciesList') <<  {
    println "Compile dependencies"
    def selectedDeps = project.configurations.compile.incoming.resolutionResult.allDependencies.collect { dep ->
        "${dep.selected}"
    }
    selectedDeps.unique().sort().each { println it}
}

第三行是有趣的部分。您需要获得您所关心的配置(编译),然后获得依赖项,incoming.resolutionresult将提供解析的值和版本。

 类似资料:
  • 我有一个包含多个子项目的根项目。最初,我们将这些项目作为独立的Maven项目保留,但我意识到Gradle更适合我使用。但是对于其中一个子项目,我们宁可不将其转换为Gradle项目,而将其保留为Maven项目。 root/build.gradle root/common.gradle root/api/pom.xml

  • 我只是使用Spring Boot初始化器创建基本和子两个项目,并使用最简单的多个项目。我在根处设置settings.gradle以包括'base'、'sub'。我还在sub/gradle.build中添加了compile project(':base')依赖项。当我在根文件夹中运行gradle build时,当execute:sub:compileJave任务和报表无法从基本项目中找到一些包时,它

  • 12:40:34:正在执行任务“jar”... 任务:包装器 在0s中生成成功1个可操作任务:1个已执行

  • 在我的例子中,我有许多子项目和子/子项目的多项目构建。 然后,我希望能够从不同的子项目调用此任务,以生成不同的JAR集(基于项目依赖关系)。这样我就可以为不同的子项目创建单独的分布。 我已经到了可以以一种丑陋的方式列出所有项目DEP JAR的阶段: 我正在执行一项任务,将所有项目jar收集在一个目录中,以创建应用程序的分发。有什么干净的方法来实现这一点吗? 谢谢!

  • 我有一个使用Gradle作为构建工具的项目和第二个使用Maven的POM的子项目。我没有在子项目上更改构建工具的自由。 我想要实现的是将我的项目添加到Maven POM中,作为我的Gradle项目的依赖项。 其中root(当前目录)是我的Gradle项目,并包含,Maven项目位于下,POM文件就在该目录下。 我在我的< code>build.gradle文件中尝试了这些变化: 第一次尝试: 第二

  • 我可以在一个多模块gradle项目中复制一个模块的所有依赖项,比如 但实际上,我只需要通过应用项目组id的过滤器来复制项目依赖项 在Gradle中,使用Kotlin DSL的正确方法是什么?