maven的

modules 就是让多个子模块之间可以相互通过 dependency 方式引用,非modules模块的项目,只能向引用第三方jar包的方式引用

maven多模块之间的调用也是通过dependency的,和调用其他外部的依赖没区别。

我相信你还应该有一个父模块才对啊。
1、如果没有父模块,是完全分离的多个模块,那么你只能先编译好底层的模块(比如你说的service模块为一个jar),然后再引入到controller模块中去(就和引用一个第三方的jar一样)。
通常的做法是建立一个本地仓库,编写service的团队写好后mvn install到本地仓库去
编写controller的团队在pom里正常引用这个service模块

2、如果是有一个父模块的,比如同时包括controller和service模块
在父模块的pom中声明子模块:
<modules>
 <module>controller</module>
 <module>service</module>
 </modules>
在子模块中声明父模块:
<parent>
 <groupId>xxxxx</groupId>
 <artifactId>xxxparent</artifactId>
 <version>1.0</version>
 </parent>
在你执行的时候,maven会自动去分析pom的关系,并确保service先编译(因为你的controller的pom中引用了service模块)

原文地址:https://www.cnblogs.com/tiancai/p/14216945.html