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

spring-boot-devtools doesn't reload dependent modules in multi-module maven project

在开始之前,我想说我已经尝试了 中提出的解决方案,但对我没有用。

问题:

我有一个多模块 Spring 这种引导项目:

模块 launcher 对模块 GUI 具有 Maven 依赖性。我从 launcher.

中的主要方法启动我的 Spring 启动应用程序

当我 运行 应用程序并更改 GUI 模块中的任何 HTML 文件时,spring-boot-devtools 依赖项不会生效为我的 运行ning 应用程序重新加载这些更改。甚至手动重启 launcher 也无济于事。我需要手动编译 GUI,然后再次 运行 launcher

我试过的:

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

如果有帮助,我会使用 Netbeans GUI。我还尝试从命令行 运行ning 项目,但没有成功。所有模块上的 Maven 打包设置为 jar.

当您在 devtools 中配置绝对路径时这有效的事实告诉我这主要是工作目录问题。

所以这意味着:

  • 配置的路径应与您启动 CLI 的位置相关
  • 您应该在 IDE 的 运行 配置中配置与工作目录相同的位置(无论您的 IDE 使用什么配置来启动您的应用程序都应该有这样的选项)

在你的情况下:一切都应该与你的启动器模块相关;这也应该是您在 IDE.

中的工作目录

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

可能是 Netbeans 的问题 IDE?再一次,它也不能从命令行运行。如果有人对此有任何解释,它仍然会很感激,因为它可以防止将来发生此问题。