首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >从2.1.13升级到2.2.0之后,Spring启动自动重新加载停止

从2.1.13升级到2.2.0之后,Spring启动自动重新加载停止
EN

Stack Overflow用户
提问于 2020-03-04 13:12:11
回答 4查看 2.4K关注 0票数 2

以下是我的POM的相关部分

代码语言:javascript
运行
复制
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.1.13.RELEASE</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>

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

如你所见,我已经安装了devtools。它适用于2.1.13.RELEASE版本。当我更改Java类并按Intellij中的Build时,服务器将按预期的方式重新启动新的更改。

但是,当我将spring引导版本升级到2.2.0.RELEASE2.2.5.RELEASE时,自动重新启动将停止工作。当我进行更改并构建项目时,什么都不会发生。我检查文档,根据这些文档,添加devtools依赖应该足够了。

参考文档:https://docs.spring.io/spring-boot/docs/2.2.0.RELEASE/reference/pdf/spring-boot-reference.pdf (第37页)

更新1:我为任何人创建了一个演示应用程序,以查看它是否适用于他们。下面是存储库。尝试使用mvn spring-boot:run运行它,并在运行时编辑BookApi.java,重新构建,它应该会触发实时重启。

更新2:下面是启动应用程序的日志:https://gist.github.com/lokeshh/d111c1429323ddf6e4a8d020526ceccb

更新3:我尝试了STS 4来测试这个问题是否与我的IntelliJ有关。我发现在STS 4中也存在同样的问题。自动重新加载是在2.1.13保存下工作的,而不是2.2.0。

更新4:删除了完整的.m2存储库,仍然存在相同的问题。下面是启用devtools跟踪的追踪日志日志

EN

回答 4

Stack Overflow用户

发布于 2020-04-20 10:05:35

对我来说也一样,就像其他人回答你一样。

,但是,我这里有你的解决方案。有时候可能会发生。执行下面提到的步骤。

由于您已经在中添加了pom.xml依赖项,所以让我们转到下一步。

Next

intellij中确认设置。。

=> 构建项目自动

文件->设置->生成、执行、部署->编译器-> check this Build project automatically

然后,检查Intellij注册表

SHIFT+CTRL+A (Win/*nix)或Command+SHIFT+A (Mac)打开弹出窗口,键入registry

查找并启用此选项compiler.automake.allow.when.app.running

完成了。现在,应该启用热交换和静态文件自动重新加载。

如果未重新加载静态文件,请按CTRL+F9强制重新加载。

  • / 后评论devtools链接添加了 /

https://docs.spring.io/spring-boot/docs/current/reference/htmlsingle/#using-boot-devtools-restart

票数 5
EN

Stack Overflow用户

发布于 2020-04-16 19:54:58

对于这两个版本,“自动重新启动”都适用于我的安装程序上的代码。尽管我使用的是STS-4-4.6.0版本。

但是有一件事我注意到它未能刷新实时数据警告,所以我在pom.xml中添加了下面的代码,并且警告也被删除了。

代码语言:javascript
运行
复制
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-actuator</artifactId>
</dependency>

注意:无论是否在STS中,它都适用于我,但是您仍然可以在Intellij中尝试这一点,这可能导致了一些问题,因为LiveReloadServer是devtools实际使用的自动加载程序。

这是在liveReloadServer启动时在日志中打印的: LiveReload服务器正在端口35729上运行。

票数 3
EN

Stack Overflow用户

发布于 2020-04-19 09:28:39

该代码用于2.1.13.RELEASE2.2.0。working 在STS 4的macOS catalina上运行。

注:来自Spring的spring文档-启动-devtools

自动重新启动在IDE和IDE之间各不相同。

用红色标记的是Eclipse和Intellij。

重新加载和重新启动是有区别的。

自动重新启动正在进行。

每次我都在运行你的申请。我收到警告了。

如何解决这个问题:

  1. 通过在pom.xml中添加用于抓取实时信息的弹簧引导执行器的依赖关系 <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-actuator</artifactId> </dependency> </dependencies>

但你的应用程序还是会重新启动。

使用2.1.13运行的应用程序的屏幕截图:

"abcd“作为基字符串

我把它改成了abc:

重新启动状态(用于2.1.13 Restart ):

重新启动状态(用于2.2.0.RELEASE):

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

https://stackoverflow.com/questions/60526897

复制
相关文章

相似问题

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