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

为gradle中的子项目配置父/根项目

苏高远
2023-03-14

是否可以设置子gradle项目的父项目。

在我的例子中,所有父子项目都位于文件层次结构中的同一级别。例如

>

  • 代码

    >

  • /父项目

    • 构建。格拉德尔

    /child项目1

    • 构建。格拉德尔

    /子项目2

    • 构建。格拉德尔

    这里,项目1依赖于项目2,所以我将它们称为

    compile project(':../project2')
    

    也在我的设置中。gradle文件,我有

    include '../child_project1'
    include '../child_project1'
    

    有了它,我可以从父项目文件夹运行任务,但单个任务不会从子项目运行。

  • 共有2个答案

    向杜吟
    2023-03-14

    查看第20.3.2.2节。多项目构建的Gradle文档。可以在设置中使用includeFlat。gradle文件。

    魏威
    2023-03-14

    我知道这是一个老问题,但您可以通过在设置中这样指定子项目来实现。格拉德尔:

    include ':A'
    project(':A').projectDir = new File('../A')
    
     类似资料:
    • 我有一个多模块java项目,我想在其中创建jar(bin、source、javadoc),但我很难从子项目配置中的子项目中获取变量。 这是我在根项目中的build.gradle文件: 这就是建筑。gradle文件子项目之一: 当我想运行构建脚本时,我得到了以下异常: 无法获取类型为org的对象的未知属性“mainClassName”。格雷德尔。应用程序编程接口。JAVA档案内部的默认舱单。 在子流

    • 我按照以下指南将项目分为模块/子项目: https://docs.gradle.org/current/userguide/multi_project_builds.html 在主脚本中,我应用子项目的配置: 如果我从根build目录运行子项目build,这会很好: (成功构建

    • 我面临以下问题。我有一个多模块的Gradle项目。一个模块是我的根项目,第二个模块是集成测试。 为了让我的集成测试运行,复制任务需要首先运行,以便将一些资产移动到项目根目录上的文件夹中。 我已经在我的根项目上定义了这样一个任务,当我试图调用它时,它什么也不做(我尝试了几种不同的调用方式)。 由于失败,我继续在子项目本身上创建了以下任务: 这是我的另一个任务。我的目标是让它将根项目类以及在下生成的j

    • 配置子项目 到目前为止你已经把ToDo项目根据功能拆分成多个模块,接下来可以用之前的方法来定义构建逻辑,下面有几点需要主要: 根目录和子目录使用相同的group和version属性值 所有的子目录都是Java项目需要Java插件来正常工作,所以你只需要在子项目中应用Java插件 web子项目是唯一一个依赖外部库的项目,它需要打包成WAR而不是JAR 子项目之间可以定义模块依赖 接下来你将学习如何定

    • 我有一个Gradle多项目构建,看起来像这样: 我希望将目录< code>shared中的所有项目作为依赖项添加到< code>plugins中的所有项目。 更一般地说:我如何按目录配置子项目? settings.gradle的内容: build.gradle的内容:

    • 我的gradle项目结构如下所示: 对于子项目,将使用引用gradle任务。 有什么想法让它正常工作吗?