2017-02-11 52 views
0

当某个特定的输入文件发生变化时,我需要我的Spring启动应用程序进行热重装。我已经添加了如下所示的弹簧加载插件。使用弹簧不能正常工作的热重装

<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进行更改时,输出中没有任何事情发生。热重新加载没有发生。我在这里做错了什么?还有什么我需要做的?有没有更好的方法来实现这一目标?任何帮助将非常感激。

回答

0

从弹簧加载文档:

弹簧加载是一个JVM代理重装而一个 JVM运行时类文件的更改。

您希望基于不在类路径中的文本文件发生更改而发生任何事情。它看起来不像Spring Loaded所做的那样。

有关于什么我想你想另一个问题:File changed listener in Java

+0

我如何可以通过具有文件重新加载弹簧启动应用程序更改监听器? – mayooran

+0

我真的不知道,但至少,如果你这样做,你可以以某种方式对文件变更作出反应。 – Buhb