在开始之前,我想说我已经尝试了spring-boot-devtools reload of multi-module maven project changes中提出的解决方案,这对我来说并不适用。
问题:
我有一个这种多模块的Spring Boot项目:
模块启动器对模块 GUI 具有Maven依赖性。我从启动器中的main方法启动Spring Boot应用程序。
当我运行应用程序并更改 GUI 模块中的任何HTML文件时,spring-boot-devtools
依赖关系不会为正在运行的应用程序重新加载这些更改。甚至手动重启启动器都有帮助。我需要手动编译 GUI ,然后再次运行启动器。
我尝试了什么:
spring-boot-devtools
依赖项
父 pom.xml
,然后只在 GUI 模块中,然后同时在两者中。spring.devtools.restart.additional-paths=../gui
文件中添加application.properties
。这确实会触发重新加载(根据日志),但这些更改不会传播到 GUI 依赖项的jar
文件。此外,在我将这个项目变成多模块之前,不需要因为HTML文件(没有编译任何东西)而重新加载,我可以立即看到更改。如果有任何帮助,我会使用Netbeans GUI。我也试过从命令行运行项目,没有成功。所有模块上的Maven包装都设置为jar
。
答案 0 :(得分:5)
在devtools中配置绝对路径时,这种方法有效,这告诉我这主要是工作目录问题。
所以这意味着:
在您的情况下:一切都应该与您的启动器模块相关;这应该是IDE中的工作目录。
答案 1 :(得分:-3)
我不知道它是怎么发生的,但是在重新开始的时候它开始工作,没有我故意改变任何东西。它甚至不需要设置spring.devtools.restart.additional-path
属性。
可能是Netbeans IDE的问题吗?然而,它也没有从命令行工作。如果有人对此有任何解释,它仍然会感激,因为它可以防止将来发生这个问题。