maven的多模块管理与重用

echojessicaa 2016-08-13 01:28:05
以下是我的理解和疑惑,欢迎大拿指正

多模块的应用,是为了封装单一作用的code到一起,方便修改和再重用。

而maven多模块的方式,我在网上搜到是以这种方式实现的:
(1)创建空的没有code的父module A,最终作用是用来绑定各module到一起的
(2)实际service app module B 依赖于api module C:
B.pom:
<dependency>..C...</dependency>
(3)B和C的pom都要加这个:
<parent>
<artifactId>A</artifactId>
<groupId>A</groupId>
<version>1.0-SNAPSHOT</version>
</parent>

第(3)点让我非常不能理解:这不是把所有的module都绑定死了吗?C只能被A所规定的关系组所使用,无法被其他module重用。
那dependency还有什么作用呢?完全是bundle啊!

是我的module打开方式不对吗,求解
...全文
262 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
ggaofeng 2016-08-13
  • 打赏
  • 举报
回复
一个普通的maven工程,一般生成一个jar包。 如果开发一个CS结构的程序,一般至少需要3个jar包(client.jar,server.jar,common.jar) 如果开发web程序,一般也分为多个模块,即多个jar,比如仓库管理模块,登录模块,订单管理模块,支付模块等。 这就需要建立多个maven工程。但是,你会发现有好多jar包,多个工程都需要依赖。比如jdom,比如junit等待。这些依赖关系要在每个pom.xml中重复拷贝。 于是,给这些工程建立一个父工程,这些通用依赖写在父工程的pom.xml中,子工程会自动继承父工程的pom。(每个子工程即模块就不用再写这些公共依赖了) 这组jar包的groupId是相同的,比如是ABC公司,artifactId是不同的,有的叫client,有的叫server,有的叫common

50,526

社区成员

发帖
与我相关
我的任务
社区描述
Java相关技术讨论
javaspring bootspring cloud 技术论坛(原bbs)
社区管理员
  • Java相关社区
  • 小虚竹
  • 谙忆
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧