用maven搭建多模块企业级项目(步骤详细)

Maven分模块开发实战

一 开发环境

Eclipse JavaEE IDE,版本代号:Mars.2Release (4.5.2)

apache-maven-3.3.9

JDK1.7

apache-tomcat-7.0.29。

 

二 分模块开发的好处

用Maven管理的比较大的项目大部分都是分模块的,每个模块都对应着一个pom.xml。它们之间通过继承和聚合相互关联。那么,为什么要这么做呢?我们明明在开发一个项目,划分模块后,导入Eclipse变成了N个项目,这样岂不带来复杂度,给开发带来不便?

 

为了解释原因,假设有这样一个项目,很常见的spring+spring mvc+mybatis整合开发的web应用。在这个应用中,我们分了几层:

1)    entity层即实体层,也即放置PO类还有跟PO类相关联的配置文件。

2)    Dao层负责数据库交互,封装了Hibernate交互的类。

3)    Service层处理业务逻辑,放一些Service接口和实现相关的Bean。

4)    Web层负责与客户端交互,主要有一些Structs的Action类。

对应的,在该项目中,我们会看到如下一些包名:

1)    com.mycom.com.entitys

2)    com.mycom.com.dao

3)    com.mycom.com.service

4)    com.mycom.com.web

这样整个项目的框架就清晰了,但随着项目的进行,你可能会遇到如下问题:

Ø  这个应用可能需要有一个前台和一个后台管理端,你发现大部分entitys,一些service,和大部分dao是在两个应用中可通用的。这样的问题,你一周内遇到了好几次。

Ø  pom.xml中的依赖列表越来越长,但是,由于目前只有一个项目(WAR),你不得不新建一个项目依赖这个WAR,这变得非常的恶心,因为在Maven中配置对WAR的依赖远不如依赖JAR那样简单明了,而且你根本不需要org.myorg.app.web。有人修改了dao,提交到svn并且不小心导致build失败了,你在编写service的代码,发现编译不过,只能等那人把dao修复了,你才能继续进行,很多人都在修改,到后来你根本就不清楚哪个依赖是谁需要的,渐渐的,很多不必要的依赖被引入。甚至出现了一个依赖有多个版本存在。

Ø  build整个项目的时间越来越长,尽管你只是一直在web层工作,但你不得不build整个项目。

Ø  某个模块,比如dao,你只想让一些经验丰富的人来维护,可是,现在这种情况,每个

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

御前两把刀刀

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值