什么是Gradle中的Maven <parent>?

时间:2017-12-12 17:15:30

标签: maven spring-boot gradle

在maven项目中,我有标签:

  <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.0.0.BUILD-SNAPSHOT</version>
    </parent>

Gradle的语法是什么?

这是我目前的build.gradle。我认为这需要在构建脚本上添加,可能会替换我现在拥有的内容。如果可能的话,请解释我为什么需要添加它。我正在尝试将pom.xml转换为gradle。

buildscript {
    ext {
        springBootVersion = '1.5.9.RELEASE'
    }
    repositories {
        mavenCentral()
    }
    dependencies {
        classpath("org.springframework.boot:spring-boot-gradle-plugin:1.5.9.RELEASE")
    }
}

plugins {
    id 'org.springframework.boot' version '1.5.9.RELEASE'
    id 'java'
}


repositories {
    mavenCentral()
}

/*Runtime dependencies*/
dependencies {
    testCompile group: 'junit', name: 'junit', version: '4.12'
    compile("io.springfox:springfox-swagger2:2.6.1")
    compile("io.springfox:springfox-swagger-ui:2.6.1")
    compile('org.springframework.boot:spring-boot-starter')
    compile("org.springframework.boot:spring-boot-starter-web")
    compile("org.springframework.boot:spring-boot-starter-data-rest")
}

2 个答案:

答案 0 :(得分:4)

在Gradle中,您只在多模块项目中拥有parent-&gt;子关系。您没有Maven中的child-&gt;父定义。

因此,您通常有一个父文件夹,其中包含对其子项的引用的 settings.gradle

像这样(parent settings.gradle):

include 'sub-module-1'
include 'sub-module-2

然后你有两个子文件夹子模块-1 子模块-2 ,它们包含自己的build.gradle文件。

但是,回到你的情况,当你刚刚使用spring-boot插件时,你不需要拥有任何一个 org.springframework.boot 插件将配置所有的必要的依赖项,因此您只需要添加所需的可选依赖项。

答案 1 :(得分:0)

跟随等于在Maven中的父母

apply plugin : "io.spring.dependency-management"


dependencyManagement {
    imports {
        mavenBom "org.springframework.boot:spring-boot-starter-parent:${springBootVersion}"
    }
}