我对由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

07-26 09:30