首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >分级弹簧启动工具: developmentOnly和runtimeClasspath

分级弹簧启动工具: developmentOnly和runtimeClasspath
EN

Stack Overflow用户
提问于 2019-12-09 15:58:43
回答 2查看 9.9K关注 0票数 13

我对gradle文件中使用的代码块感到困惑,这是由关于开发工具的Spring文档建议的。

代码语言:javascript
复制
configurations {
    developmentOnly
    runtimeClasspath {
        extendsFrom developmentOnly
    }
}
dependencies {
    developmentOnly("org.springframework.boot:spring-boot-devtools")
}

我认为我必须声明developmentOnly配置,因为它将在dependencies {}块中使用,但是为什么需要用于runtimeClasspath的行呢?实际上,我试着移除我的项目中的线条,这个项目构建得非常好。

代码语言:javascript
复制
configurations {
    developmentOnly
}
dependencies {
    developmentOnly("org.springframework.boot:spring-boot-devtools")
}

runtimeClasspath是由Java插件使用的吗?(正如这个文档建议的)如果我不包括runtimeClasspath的那些行,会有什么不良的副作用吗?

更新(2019-12-10)

我还可以确认,在没有runtimeClasspath指令的情况下构建的可执行jar运行良好。所以我真的不知道这个指令是干什么的。

EN

回答 2

Stack Overflow用户

发布于 2020-03-14 03:37:11

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

更多细节:图表

票数 6
EN

Stack Overflow用户

发布于 2021-04-14 11:30:14

  • developmentOnly是您添加的一个新配置。
  • runtimeClasspath配置由Java Library Plugin添加。
  • 您可以指定runtimeClasspath配置扩展自developmentOnly配置。
  • 您将spring-boot-devtools设置为developmentOnly配置的依赖项,这将使runtimeClasspath也依赖于spring-boot-devtools

实际上,我试着移除我的项目中的线条,这个项目构建得非常好。

我认为这是因为依赖关系是运行时的,而不是构建时的。

我还可以确认,在没有runtimeClasspath指令的情况下构建的可执行jar运行良好。

我认为这是因为spring-boot-devtools只在开发模式下工作,例如,当您使用./gradlew bootRun执行bootRun任务时。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59252470

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档