【发布时间】:2019-05-08 19:37:25
【问题描述】:
我一直在为 spring boot devtools 开发多模块 gradle 项目。这是 github 存储库 - GitHub Repo
-spring-boot-dev-tools
-src/main
-java/com/jhooq/springboot/devtools
-resources
-spring-boot-dev-tools.gradle ====- subproject gradle
-.gitignore
-build.gradle ====- main gradle
-gradlew
-gradlew.bat
-settings.gradle
这就是我的 build.gradle(main gradle) 的样子:-
buildscript {
ext {
springBootVersion = '2.1.2.RELEASE'
}
repositories {
mavenCentral()
}
dependencies {
classpath("org.springframework.boot:spring-boot-gradle-plugin:${springBootVersion}")
}
}
allprojects {
group 'com.jhooq'
version '1.0-SNAPSHOT'
}
subprojects{
repositories {
mavenCentral()
}
apply plugin: 'java'
apply plugin: 'idea'
apply plugin: 'org.springframework.boot'
apply plugin: 'io.spring.dependency-management'
sourceCompatibility = 1.8
targetCompatibility = 1.8
dependencies {
compile ("org.springframework.boot:spring-boot-starter")
compile ("org.springframework.boot:spring-boot-starter-test")
}
}
project(':spring-boot-dev-tools'){
configurations {
developmentOnly
runtimeClasspath {
extendsFrom developmentOnly
}
}
dependencies {
compile project(':spring-boot-app')
compile ("org.springframework.boot:spring-boot-starter-web")
developmentOnly("org.springframework.boot:spring-boot-devtools")
}
}
如您所见,如果我将 compile ("org.springframework.boot:spring-boot-starter-web") 放入 project(':spring-boot-dev-tools') 中,我的 Spring Boot 应用程序在端口 8000 上启动并继续运行
但是当我在 spring-boot-dev-tools.gradle 中移动以下 gradle 脚本时遇到问题,然后我的 Spring Boot 应用程序会像正常的 Spring Boot 应用程序一样启动和关闭。
project(':spring-boot-dev-tools'){
configurations {
developmentOnly
runtimeClasspath {
extendsFrom developmentOnly
}
}
dependencies {
compile project(':spring-boot-app')
compile ("org.springframework.boot:spring-boot-starter-web")
developmentOnly("org.springframework.boot:spring-boot-devtools")
}
因此,如果我在子模块中移动 spring spring-boot-starter-web 和 spring-boot-devtools 依赖项时总结了我的问题,spring boot 无法在端口:8000 上工作/运行,而是像普通的 spring boot 应用程序一样启动和关闭。
【问题讨论】:
-
所以您尝试将一些文件内容从您的大
build.gradle文件移动到另一个文件?您确定移动代码后包含其他文件吗?也许添加一个简单的println语句来检查。 -
是的,我试图将文件的内容移动到另一个文件(子模块 gradle 文件),是的,我在移动代码后检查了其他文件是否包含在内。今天我能够解决这个问题,这让我很伤心,因为我没有“编译项目”而是切换到“实施”,一切似乎都很完美。请看下面我的回答
标签: java spring spring-boot gradle