前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Intellj IDEA+Maven如何构建多模块项目?

Intellj IDEA+Maven如何构建多模块项目?

作者头像
我是攻城师
发布2018-05-11 18:14:59
3.3K0
发布2018-05-11 18:14:59
举报
文章被收录于专栏:我是攻城师

在使用Java构建大型企业级项目时,我们一般更倾向于分层,分模块,分服务,分功能开发,这样搞的目的只有一个就是以高内聚,低耦合方式来提高整个项目的灵活性,扩展性,复用性,当然,这里面蕴含的思想与Java的设计模式和开发原则是非常类似的,因为大公司的项目的结构一般都非常复杂,只有提前规划好开发模式,才能在以后不断扩展,迭代,重构时减少出现牵一发而动全身的情况。 企业级项目,一般都会使用Maven来构建管理项目,如何在使用maven构建一个多模块的项目呢? 假设现在我们要开发一个web项目,现在分为1个父模块,4个子模块,结构以及依赖关系如下:

idea里面的截图展示如下:

步骤如下: 1,首先在idea里面File ->New Project->Next然后输入相关的坐标, 新建一个空的maven项目,作为父项目使用,创建完成之后,可将其src目录删掉,然后更改其pom属性为:

2,接着依次File ->New Module->选择archetype->然后输入相关坐标,新建4个module:dao , service,share-tools , web-app,需要注意的是,散仙web使用的是spring-boot项目,所以4个模块都是普通的maven就可以,类似如果你的web层使用的不是spring-boot,那么久需要在web-app模块选择时,选择maven-archetype-webapp 3,创建完成之后,我们就模拟一个分层协作的例子,先看下dao里面模拟的数据:

然后用户访问的web页面展示如下:

ok,web上展示是这样的,但是实际内部的他们的调用关系,和文章开头的图里那样,web-app调用service,service先调用dao拿到数据,然后接着调用通用的工具类,对数据进行转小写,然后返回给最终的前台。 4,项目的源码例子,会放在文末附件中,最后,说一下几个关键点 (1)包命名方式需要统一,无论在web-app,service,share-tools 还是 dao层中,前缀包名最好保持一致,比如以com.easy开头,然后各个模块分别是com.easy.xxx (2)模块和模块之间有依赖时,在分层package时,需要注意把依赖模块的jar导入对应的模块中,当然如果你们有自己的私服,那么就直接发布到私服上,然后引入就行了,如果没有私服,最好在父层pom下构建打包,这样你就不需要关心依赖的问题,父pom会组织所有的模块,然后正确的找到依赖,进行构建:

(3)所有的版本号,或者共享的属性,都应该在父pom中定义,这样每个继承父模块的module都会得到统一的版本

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2015-09-01,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 我是攻城师 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档