我对由Spring Boot Documentation on Developer Tools建议的gradle
文件中使用的这段代码感到困惑
configurations {
developmentOnly
runtimeClasspath {
extendsFrom developmentOnly
}
}
dependencies {
developmentOnly("org.springframework.boot:spring-boot-devtools")
}
我认为我必须声明
developmentOnly
配置,因为它将在dependencies {}
块中使用,但是为什么我需要runtimeClasspath
的行?实际上,我尝试删除项目中的行,并且该项目构建得很好。configurations {
developmentOnly
}
dependencies {
developmentOnly("org.springframework.boot:spring-boot-devtools")
}
Java插件是否使用
runtimeClasspath
? (正如此doc所建议的)如果我不为runtimeClasspath
包含这些行,会不会有不良影响?更新(2019-12-10)
我还可以确认没有
runtimeClasspath
指令的已构建可执行jar完全可以正常运行。所以我真的不知道该指令在做什么。 最佳答案
您仅在运行时需要spring-boot-devtools,这就是我们使用runtimeClasspath配置的原因
更多详细信息:https://docs.gradle.org/current/userguide/java_library_plugin.html#sec:java_library_configurations_graph