【问题标题】:How does Spring Boot load changes in code without restarting the serverSpring Boot如何在不重新启动服务器的情况下加载代码中的更改
【发布时间】:2017-07-10 18:04:07
【问题描述】:

对我来说这是一个面试问题,是否有可能您在代码中进行了一些更改,并且它是一个 Spring Boot 应用程序,并且无需重新启动服务器即可获得这些更改。? 如果是,那么在spring boot中怎么可能。

我想知道在 Spring Boot 中怎么可能。?

【问题讨论】:

    标签: spring spring-boot


    【解决方案1】:

    将 spring-boot-devtools 模块添加到您的项目中,其中包括 LiveReload 服务器,可用于在资源发生更改时触发浏览器刷新。您可以从 livereload.com 下载浏览器扩展。

    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-devtools</artifactId>
        </dependency>
    </dependencies>
    

    【讨论】:

      【解决方案2】:

      只需要在pom.xml和yml文件属性中添加devtool依赖即可:

          <dependency>
              <groupId>org.springframework.boot</groupId>
              <artifactId>spring-boot-devtools</artifactId>
              <optional>true</optional>
          </dependency>
      
      # for not restarting the server every time
      spring.devtools.restart.enabled:  false
      

      【讨论】:

        【解决方案3】:

        您可能想查看here spring dev tool

        注意:

        1. 不管怎样,当你的java代码发生变化时,需要重启服务器,spring dev tool只是帮你重新加载它

        2. 如果是jsp就不用重启服务器了。

        【讨论】:

          【解决方案4】:

          我正在使用 intellij,以下依赖项设置对我有用。

          <dependency>
                      <groupId>org.springframework.boot</groupId>
                      <artifactId>spring-boot-devtools</artifactId>
                      <scope>runtime</scope>
                      <optional>true</optional>
          </dependency> 
          

          【讨论】:

          • 好答案 :) 但它与 IntelliJ 无关,它是用于 Spring Boot 开发的 maven 插件
          • 感谢您的评论,很高兴知道这是一个独立于 IDE 的解决方案,我一直很好奇为什么 fg78nc 的 anwser 对我不起作用,不知道标签 runtimetrue 在这种情况下?
          【解决方案5】:

          您应该首先在 pom.xml 文件中添加 spring-boot-devtools 依赖项:

            <dependency>
                  <groupId>org.springframework.boot</groupId>
                  <artifactId>spring-boot-devtools</artifactId>
                  <scope>runtime</scope>
                  <optional>true</optional>
              </dependency>
          

          然后在你的项目根目录下运行mvn clean install一次。然后,您可以在 Spring Boot 自动从您的项目重新加载更改时运行您的应用程序。

          有关详细信息,请参阅“How to Reload Changes Without Restarting the Server”。

          【讨论】:

            猜你喜欢
            • 2016-08-17
            • 1970-01-01
            • 1970-01-01
            • 2012-10-03
            • 2011-09-07
            • 1970-01-01
            • 2011-07-21
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多