在主模块以外的其他模块中,命令“ mvn spring-boot:run”在运行时不会更改吗?

问题描述

我有一个多模块专家,其配置如下:

  sub-module maven : modul-main : contains the Main class and config folder with an application.properties file
  sub-module maven : modul-common : an another sub-module 

如果我在modul-main中更新我的代码,那么命令

   mvn spring-boot:run 

在运行时查看我的更改 但是如果我以模公共方式更新我的代码,那么命令

   mvn spring-boot:run 

看不到我的更改!

  1. 该怎么解释? (该命令在后台执行什么操作?)想了解!
  2. 此行命令是否有解决此问题的选项?

解决方法

这就是Maven的工作方式,与Spring Boot无关。当您进入module-main并运行命令时,它只会影响该模块,而Maven并不知道此模块是一个较大项目的一部分,如有必要,应对其进行更新。

在特定模块中时,将通过本地maven存储库(而不是每个模块的单独target/classes位置)来获取依赖项。

与Gradle的工作方式相比,这是一个重大区别(在模块中运行命令将根据需要自动更新同级模块)。