Spring Boot Dev Tools无法正确检测jar依赖项的自动重启

时间:2018-04-13 06:22:46

标签: spring-boot spring-boot-devtools

这个让我挠头。

我有一个Spring Boot 1.5.12 Web应用程序(带有maven项目),它具有另一个Spring Boot 1.5.12 JAR文件(作为maven项目)的依赖项。我希望无论何时重建JAR文件,Web应用程序都会自动重启。但是,即使我似乎已正确配置了所有内容,但Web应用程序仍无法正常重新启动。

我正在使用命令行mvn命令。

我在网络应用的spring-devtools.properties文件中指定了JAR文件的正确名称:

restart.include.icamp-shared=icamp-shared-1.0-SNAPSHOT.jar

当我启动网络应用程序时,我在日志中看到以下消息:

23:06:18.586 [main] DEBUG org.springframework.boot.devtools.settings.DevToolsSettings - Included patterns for restart : [xstream-1.4.9.jar, icamp-shared-1.0-SNAPSHOT.jar, xstream-hibernate-1.4.9.jar, json-io-4.9.4.jar, xstream-1.4.9.jar, xstream-hibernate-1.4.9.jar, json-io-4.9.4.jar, xstream-1.4.9.jar, xstream-hibernate-1.4.9.jar, json-io-4.9.4.jar]
23:06:18.590 [main] DEBUG org.springframework.boot.devtools.settings.DevToolsSettings - Excluded patterns for restart : [/spring-boot-starter/target/classes/, /spring-boot-autoconfigure/target/classes/, /spring-boot-starter-[\w-]+/, /spring-boot/target/classes/, /spring-boot-actuator/target/classes/, /spring-boot-devtools/target/classes/]
23:06:18.594 [main] DEBUG org.springframework.boot.devtools.restart.ChangeableUrls - Matching URLs for reloading : [file:/Users/gerald/dev/ahs/redstone/git/iib/target/classes/, file:/Users/gerald/.m2/repository/com/cedarsoftware/json-io/4.9.4/json-io-4.9.4.jar, file:/Users/gerald/.m2/repository/com/thoughtworks/xstream/xstream-hibernate/1.4.9/xstream-hibernate-1.4.9.jar, file:/Users/gerald/.m2/repository/com/icsynergy/icamp-shared/1.0-SNAPSHOT/icamp-shared-1.0-SNAPSHOT.jar, file:/Users/gerald/.m2/repository/com/thoughtworks/xstream/xstream/1.4.9/xstream-1.4.9.jar`

从属JAR的文件URL是正确的 - 它位于我的Maven存储库中。

我启动应用程序,并重新编译相关的jar文件 - 未检测到更改。当我更改项目中的类并重建项目时,会正确检测到更改。这完全来自使用mvn命令的命令行。

BTW,它也没有检测到属性文件中列出的任何其他JAR的任何更改。

我的POM中有以下内容:

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

这是我完整的spring-devtools.properties文件:

restart.include.jsonio=json-io-4.9.4.jar
restart.include.xstream=xstream-1.4.9.jar
restart.include.xstream-hibernate=xstream-hibernate-1.4.9.jar
restart.include.icamp-shared=icamp-shared-1.0-SNAPSHOT.jar

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

如果您正在使用IntelliJ IDEA,则需要执行以下操作:

  1. 在您的intellij IDEA中,转到:文件 - >设置 - >构建,执行,部署。然后 - &gt;编译器 - &gt;自动构建项目并确保它已被勾选。
  2. 在您的intellij IDEA中: SHIFT + Ctrl + A 并输入注册表 compiler.automake.allow.when.app.running 并确保已勾选。 希望这会有所帮助。