spring-boot-devtools不会在多模块maven项目中重新加载依赖模块

Sar*_*aph 8 spring spring-boot spring-boot-devtools

在开始之前,我想说我已经尝试过spring-boot-devtools重新加载多模块maven项目更改中提出的解决方案,这对我来说不起作用.

问题:

我有一个这种类型的多模块Spring Boot项目:

在此输入图像描述

模块启动器对模块GUI具有Maven依赖性.我从启动器中的main方法启动我的Spring Boot应用程序.

当我运行应用程序并更改GUI模块中的任何HTML文件时,spring-boot-devtools依赖项不会为我正在运行的应用程序重新加载这些更改.甚至手动重启启动器都没有帮助.我需要手动编译GUI,然后再次运行启动器.

我尝试了什么:

  1. 我尝试spring-boot-devtools先在父级中 定义依赖项 pom.xml,然后仅在GUI模块中定义,然后同时在两者中定义.
  2. 我尝试按照spring-boot-devtools重新加载多模块maven项目更改的建议添加spring.devtools.restart.additional-paths=../gui我的application.properties文件.这确实会触发重新加载(根据日志),但这些更改不会传播到GUI依赖项的文件.此外,在我将这个项目变成多模块之前,不需要因为HTML文件(没有编译任何东西)而重新加载,我可以立即看到更改.jar

我使用Netbeans GUI,如果有任何帮助的话.我也试过从命令行运行项目,没有成功.所有模块上的Maven包装都设置为jar.

Bri*_*zel 5

当你在devtools中配置绝对路径时,这个工作的事实告诉我,这主要是一个工作目录问题.

所以这意味着:

  • 配置的路径应该相对于启动CLI的位置
  • 您应该在IDE的运行配置中配置与工作目录相同的位置(IDE用于启动应用程序的任何配置都应该有这样的选项)

在你的情况下:一切都应该与你的启动器模块相关; 这应该是IDE中的工作目录.


Sar*_*aph -4

我不知道这是怎么发生的,但在一次重新访问后,它开始工作,而我没有故意改变任何东西。它甚至不需要spring.devtools.restart.additional-path属性集。

也许是 Netbeans IDE 的问题?话又说回来,它也无法从命令行运行。如果有人对此有任何解释,我们仍然会感激不已,因为这可能会防止将来发生此问题。