0

这个让我摸不着头脑。

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

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

spring-devtools.properties在 Web 应用程序的文件中为 JAR 文件指定了正确的名称:

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

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

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 命令的命令行。

顺便说一句,它也没有检测到对属性文件中列出的任何其他 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

有任何想法吗?

4

1 回答 1

0

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

  1. 在您的 intellij IDEA 中,转到:file->settings->build,execution,deployment。然后->编译器->自动构建项目并确保它被勾选。
  2. 在您的 intellij IDEA 中:SHIFT+Ctrl+A并键入Registry compiler.automake.allow.when.app.running并确保已勾选。希望这可以帮助。
于 2018-06-04T12:36:44.467 回答