Gradle多项目构建–类似父pom的结构

本文介绍了从Maven背景转向Gradle时如何构建类似的多项目结构。通过示例展示了如何组织项目目录,创建settings.gradle文件以链接子项目,并在build.gradle中管理共享依赖和仓库,从而避免重复。核心项目依赖于规范项目,而各个实现项目依赖于核心项目。这种结构有助于简化和优化大型项目中的依赖管理。
摘要由CSDN通过智能技术生成

当您来自Maven背景时,很可能已经习惯了父pom结构。

现在,在进行gradle时,情况有所不同。

想象一下有一个包含接口和各种其他实现的项目的场景。 摇动
这将是我们的项目结构。

multi-project-gradle
-- specification
-- core
-- implementation-a
-- implementation-b

规范项目包含接口,实现将基于这些接口。 核心项目将包含需要在实现之间共享的功能。

下一步是在multi-project-gradle中创建每个项目。

每个项目实际上都是带有builde.gradle文件的目录。

plugins {
    id 'java'
}

repositories {
    mavenCentral()
}

dependencies {
    testCompile group: 'junit', name: 'junit', version: '4.12'
}

完成后,您需要在父项目和子项目之间进行链接。
为此,您可以创建multi-project-gradle / settings.gradle并包含其他项目。

rootProject.name = 'com.gkatzioura'
include 'specification'
include 'core'
include 'implementation-a'
include 'implementation- b'

现在,如果为每个子项目都设置了build.gradle文件,那么您刚刚意识到,随处都包含了junit依赖项和mavencentral存储库。

使用多项目构建的主要好处之一是消除重复。

为此,我们将创建multi-project-gradle / build.gradle文件,在其中添加junit依赖项和maven中央引用。

subprojects {
    apply plugin: 'java'

    repositories {
        mavenCentral()
    }

    dependencies {
        testCompile group: 'junit', name: 'junit', version: '4.12'
    }

}

现在,我们可以将依赖项添加到每个项目,甚至可以指定子项目所需的依赖项。

例如核心项目使用规范项目

dependencies {
  compile project(':specification')
}

每个实施项目都使用核心项目

dependencies {
    compile project(':core')
}

您可以在github上找到该项目。

翻译自: https://www.javacodegeeks.com/2018/07/gradle-parent-pom-structure.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值