【问题标题】:Hot reload using Spring not working使用 Spring 热重载不起作用
【发布时间】:2017-02-11 14:23:13
【问题描述】:

当特定输入文件发生更改时,我需要我的 Spring Boot 应用程序进行热重载。我已经添加了弹簧加载插件,如下所示。

<build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
                <dependencies>
                    <dependency>
                        <groupId>org.springframework</groupId>
                        <artifactId>springloaded</artifactId>
                        <version>1.2.6.RELEASE</version>
                    </dependency>
                </dependencies>
            </plugin>
        </plugins>
    </build>

然后我正在运行应用程序,如下所示。

mvn spring-boot:run -Drun.jvmArguments="-Dfilename=test/data/test.txt"

应用程序运行良好,但是当我对此 test.txt 进行更改时,输出没有任何变化。没有发生热重载。我在这里做错了什么?还有什么我需要做的吗?有没有更好的方法来实现这一目标?任何帮助将不胜感激。

【问题讨论】:

    标签: java spring spring-boot hotswap spring-loaded


    【解决方案1】:

    来自 Spring Loaded 文档:

    Spring Loaded 是一个 JVM 代理,用于重新加载类文件更改,而 JVM 正在运行。

    您希望基于不在类路径上的文本文件发生更改而发生某些事情。看起来这不是 Spring Loaded 所做的。

    还有一个关于我认为你想要什么的问题:File changed listener in Java

    【讨论】:

    • 如何通过文件更改监听器重新加载 Spring Boot 应用程序?
    • 我真的不知道,但至少,如果你知道,你可以以某种方式对文件更改做出反应。
    猜你喜欢
    • 2017-03-13
    • 2020-07-13
    • 2023-03-15
    • 2020-05-26
    • 2017-05-18
    • 2018-10-16
    • 1970-01-01
    • 1970-01-01
    • 2021-08-21
    相关资源
    最近更新 更多