Spring boot 从多模块项目中的父文件夹运行Gradle引导

Spring boot 从多模块项目中的父文件夹运行Gradle引导,spring-boot,gradle,Spring Boot,Gradle,我有我的Gradle项目,它有两个模块:项目A和项目B,后者依赖于前者。请注意,这两个项目都是Spring Boot应用程序,因此当我从各自的目录执行gradle bootRun时,它们将正常启动 问题是,当我执行gradle bootRun时,我想从父目录启动项目A的服务,它正在启动项目B。似乎我缺少一些gradle配置 build.gradle(项目A) build.gradle(项目B) build.gradle(父级) 设置。渐变(父级) 提前感谢。您可以使用 ./gradlew

我有我的
Gradle
项目,它有两个模块:项目A和项目B,后者依赖于前者。请注意,这两个项目都是
Spring Boot
应用程序,因此当我从各自的目录执行
gradle bootRun
时,它们将正常启动

问题是,当我执行
gradle bootRun
时,我想从父目录启动项目A的服务,它正在启动项目B。似乎我缺少一些
gradle
配置

build.gradle(项目A)


build.gradle(项目B)


build.gradle(父级)


设置。渐变(父级)


提前感谢。

您可以使用

./gradlew :projectA:bootRun
./gradlew :projectB:bootRun
group = 'com.oni'
version = '0.0.2-SNAPSHOT'
sourceCompatibility = 1.8

dependencies {
    def withoutInflux = { exclude group: 'org.springframework.boot', module: 'spring-boot-starter-data-mongodb' }

    compile project(':projectA'), withoutInflux
    compile 'com.fasterxml.jackson.dataformat:jackson-dataformat-yaml:2.9.7'
}
buildscript {
    ext {
        springBootVersion = '2.0.5.RELEASE'
    }
    repositories {
        mavenCentral()
    }
    dependencies {
        classpath("org.springframework.boot:spring-boot-gradle-plugin:${springBootVersion}")
    }
}


subprojects {
    apply plugin: 'java'
    apply plugin: 'eclipse'
    apply plugin: 'org.springframework.boot'
    apply plugin: 'io.spring.dependency-management'


    repositories {
        mavenCentral()
//        mavenLocal()
    }


    dependencies {
        implementation('org.springframework.boot:spring-boot-starter')
        testImplementation('org.springframework.boot:spring-boot-starter-test')
        compile('org.springframework.boot:spring-boot-starter-web')
        compile('org.springframework.boot:spring-boot-starter-actuator')
        compile('org.influxdb:influxdb-java')
        compile('org.mockito:mockito-core')
        compile('ma.glasnost.orika:orika-core:1.4.2')
        compile 'com.google.guava:guava-annotations:r03'
    }
}
rootProject.name = 'project'


include 'projectA'
include 'projectB'
./gradlew :projectA:bootRun
./gradlew :projectB:bootRun