Gradle Spring Boot Devtools:developmentOnly 和 runtimeClasspath

lee*_*wah 7 java gradle spring-boot gradle-plugin spring-boot-devtools

我对在开发工具上gradleSpring Boot 文档建议的文件中使用的这段代码感到困惑

configurations {
    developmentOnly
    runtimeClasspath {
        extendsFrom developmentOnly
    }
}
dependencies {
    developmentOnly("org.springframework.boot:spring-boot-devtools")
}
Run Code Online (Sandbox Code Playgroud)

我想我必须声明developmentOnly配置,因为它要在dependencies {}块中使用,但为什么我需要这些行runtimeClasspath?我实际上尝试删除我的项目中的行,并且该项目构建得非常好。

configurations {
    developmentOnly
}
dependencies {
    developmentOnly("org.springframework.boot:spring-boot-devtools")
}
Run Code Online (Sandbox Code Playgroud)

是否runtimeClasspath被 Java Plugin 使用?(正如本文档所建议的)如果我不包含这些行,会不会有任何不好的副作用runtimeClasspath

更新 (2019-12-10)

我还可以确认在没有runtimeClasspath指令的情况下构建的可执行 jar运行完全正常。所以我真的不知道该指令在做什么。

Pun*_*unj 5

您只需要在运行时使用 spring-boot-devtools,这就是我们使用 runtimeClasspath 配置的原因。

更多细节:https : //docs.gradle.org/current/userguide/java_library_plugin.html#sec : java_library_configurations_graph