7

我有一个小型 Spring Boot 项目(来自 spring-boot-starter)。一切都配置好了,我想使用 Spring-Boot-Devtools 进行自动重新加载。当我从我的 git repo 工作目录启动我的项目(mvn spring-boot:run -X)时,我可以看到:

Maven日志:

调试] 分叉进程的类路径:C:\Users\razor\git\spring-boot-starter\target\classes;........

没关系,路径看起来不错。然后应用程序日志:

2016-09-21 23:47:59.568 DEBUG 13528 --- [restartedMain] .blClasspathLoggingApplicationListener:应用程序以类路径启动:[]

类路径为空?可能这就是 Devtools 不想自动重新加载我的应用程序的问题。但为什么 ?

当我将项目文件夹(没有其他更改!!!)复制到其他地方时,重新加载就可以了!

Maven (mvn spring-boot:run -X):

[调试] 分叉进程的类路径:C:\Java\workspace_rentit\spring-boot-starter2\target\classes;.....

然后:

2016-09-21 23:40:34.224 调试 4060 --- [restartedMain] .blClasspathLoggingApplicationListener:应用程序以类路径启动[file:/C:/Java/workspace_rentit/spring-boot-starter2/target/classes/]

为什么会有差异?怎么了 ?在第二种情况下,重新加载有效。

4

2 回答 2

5

在考虑是否应该自动重启时,Spring Boot 会忽略某些项目名称。这在文档中有所描述

在决定类路径上的条目是否应在更改时触发重启时,DevTools 会自动忽略名为 spring-boot、spring-boot-devtools、spring-boot-autoconfigure、spring-boot-actuator 和 spring-boot-starter 的项目

您应该重命名您的项目,以便清楚它不是 Spring Boot 本身的一部分并且有资格自动重启。

于 2016-09-22T10:49:17.463 回答
3

好的,在摆弄一个项目几分钟后,我发现问题可能是项目文件夹名称“spring-boot-starter”(eclipse spring boot creator的默认项目名称?)这就是为什么在不同的文件夹中重新加载工作(项目文件夹名称也不同),在我的git repo下更改项目文件夹名称后,重新加载再次开始工作。

是否记录了“功能”?:)

看起来项目的 DIRECTORY 不应命名为“spring-boot-....”(它与工件名称或 eclipse 项目名称无关)

于 2016-09-22T10:31:37.760 回答