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模块)
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通