【问题标题】:What is "update classpath" mean in Java or SpringBoot?Java或SpringBoot中的“​​更新类路径”是什么意思?
【发布时间】:2019-08-14 07:14:24
【问题描述】:

我正在阅读Spring boot reference guide about the developer tools,它提到了以下内容:

由于 DevTools 监控类路径资源,触发重启的唯一方法是更新类路径。更新类路径的方式取决于您使用的 IDE。在 Eclipse 中,保存修改过的文件将导致类路径更新并触发重新启动。 在 IntelliJ IDEA 中,构建项目 (Build → Make Project) 将具有相同的效果。

我很困惑,“更新类路径”是什么意思?更准确地说:

  • 如果我在 IDE 中修改文件,它似乎不会更新类路径,这是否正确?
  • 如果我在 IntelliJ 中单击“构建”,它似乎确实会更新类路径,但 IDE 究竟做了什么?

【问题讨论】:

    标签: java spring-boot classpath


    【解决方案1】:

    需要明确的是,类路径指定项目中用户定义类的位置(路径)。通常,更改类(文件)时需要手动重新启动 Spring Boot 应用程序以查看更改。

    正如你提到的,spring-boot-devtools 提供了一个Automatic Restart

    每当类路径上的文件发生更改时,使用 spring-boot-devtools 的应用程序会自动重新启动。在 IDE 中工作时,这可能是一个有用的功能,因为它为代码更改提供了非常快速的反馈循环。默认情况下,类路径上指向文件夹的任何条目都会被监视更改。请注意,某些资源(例如静态资产和视图模板)不需要重新启动应用程序。

    由于 DevTools 监控类路径资源,触发重启的唯一方法是更新类路径。更新类路径的方式取决于您使用的 IDE。在 Eclipse 中,保存修改后的文件会导致类路径更新并触发重新启动。在 IntelliJ IDEA 中,构建项目(Build -> Build Project)具有相同的效果。

    意思是,在 IntelliJ 中,当构建项目(从而更新类路径)时,开发工具将触发应用程序的重新启动。更简单的是,还可以设置 IntelliJ 自动构建并激活compiler.automake.allow.when.app.running (here is how)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2022-09-28
      • 2010-11-05
      • 1970-01-01
      • 1970-01-01
      • 2012-03-12
      • 2023-04-06
      • 1970-01-01
      相关资源
      最近更新 更多