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

分级多项目根级生成任务

关苗宣
2023-03-14

我有一个非常基本的多项目分级设置,如下所示:

root
+--- build.gradle
+--- settings.gradle
+--- subproject1
     \--- build.gradle
\--- subproject2 
     \--- build.gradle

settings.gradle文件包括这两个子项目。根项目不应用java插件,但两个子项目都应用了。使用gradle build时,所有东西都按预期生成。

但是,据我所知,由于我没有在根项目中应用java插件,因此它不应该有build任务。

  • Gradle Tasks的输出显示Build任务。
  • 分级任务--全部的输出只显示列有:subproject1:build:subproject2:build

所以我的问题是--在这个场景中到底执行了什么?gradle只是找到所有子项目中匹配供应模式的每一个任务吗?是否有关于此任务名称解析的特定规则?我在哪里可以找到更多关于这方面的信息?

共有1个答案

蒯胜泫
2023-03-14

是的,你是对的。如果确实只使用任务名称或任务名称缩写,则任务将在当前目录的所有子项目中执行。如果只想调用subporject1build任务,请使用带有gradle:subproject1:build的绝对路径或相对路径。如果您在根目录e中。例如,相对路径为gradle subproject1:build
您可以在https://docs.gradle.org/current/userguide/intro_multi_project_builds.html#N10762上了解更多有关它的信息。

顺便说一句。您应该考虑使用Gradle包装器。每个使用Gradle的项目也应该使用Gradle包装器。这是Gradle最有效的强化之一,因为您只需要安装Java,而不需要Gradle、Maven、ant或其他任何东西,并且构建始终使用您设计的Gradle版本运行。

 类似资料:
  • 我刚开始读“Pro Spring MVC with web Flow”,它附带了一个代码示例,我想跟随它。 null 我试过什么--我想到的唯一一件事是只留下Gradle的东西加上文件夹,以防Gradle识别所有目录为不同的构建,但没有成功。 我想要完成的最终结果是什么--首先,我想要弄清楚我的错误在哪里,以及如何构建示例应用程序。而且,如果我真的可以从我的第一个设置(正如我昨天所写的那样)做到这

  • 我正在使用Eclipse的STS插件创建gradle多项目。我以为我在读完教程后得到了基本的知识,但我无法再现所显示的行为。添加时 对于父项目的build.gradle,我将假设每个项目执行的任务'hello‘。为子项目实际进行了2次,但结果只是: 我的项目树看起来或多或少是这样的:

  • 根settings.gradle.kts如下所示: 在SoaProject的一个build.gradle.kts文件中,例如,我有以下依赖项: 导入/刷新gradle项目在Intellij中工作,并且依赖项被下载。但是当我尝试从子项目执行gradle任务时,我得到一个未解决的引用版本错误。 向西蒙致意

  • 我有一个使用gradle作为构建工具的项目。作为项目源代码的一部分,有一个工具可以生成此应用程序所需的配置文件。config generator工具是一个带有main方法的Java类,因此它可以从Java或命令行运行。 我想添加一个gradle任务,在配置生成器编译和jar'ed之后调用它。 调用作为项目一部分的生成工具的推荐分级方式是什么? 在我的gradle任务中,如何设置类路径,使配置生成器

  • 我正在进行带有多个Grails插件的Grails项目(Grails2.3.11)。一个主要的Grails项目,加上一些用户定义的Grails插件和核心Java项目,创建了一个完整的应用程序。到目前为止,这些项目都是使用Ant Builder构建的。最近升级的构建过程使用Gradle。 gradle过程的问题是,有些项目需要用JDK1.7构建,有些项目需要用JDK1.8构建。为了修复它,我将java

  • IDE:spring工具套件4 框架:spring boot 版本:v6 我已经创建了一个由3个子项目a、B和C组成的多项目gradle构建。我想在根构建中创建一个自定义任务。gradle要实现以下操作,运行自定义任务将 1)执行子项目a的bootRun任务。 2)然后几秒钟后,执行子项目B和C的bootRun任务 *Bootrun是一个将项目作为spring boot应用程序运行的任务 注意,子