本文共 3922 字,大约阅读时间需要 13 分钟。
项目的模块化有利于任务分工,后期维护,易扩展,模块还可以独立成服务单独部署等;
我用的maven插件是m2e,相信大部分人在eclipse装的也是m2e插件;废话不说,直接开始:
菜单选择新建maven project,注意选择创建一个简单工程,如下图红圈所示,因为我们要创建的是packaging类型为pom的maven项目,自带的archetype里貌似没有对应的类型,反正我是没找到。
接着点击next,在packaging选项里选择pom,然后输入必要的信息即可,如下图:
这时候我们的pom.xml文件是这样的:
4.0.0 cn.edu.hdu.mm multi-module 0.0.1-SNAPSHOT pom multi-module multi module projects.
这里打算简单的创建一个web项目作为示例,按层划分;其实复杂点的项目是可以划分成多个子系统模块、多个服务模块,模块之间的通信可以通过jms、webservice等方式。
那么,我们就开始简单的创建common,dao,service,web几个模块吧, 这里,除了web模块的packaging类型是war,其它的都是jar,也就是说,在创建这些模块的时候,web模块选择的archetype为webapp,其它的选quickstart即可;
鼠标右键父工程,选择创建maven module;
创建完各个模块之后,父模块与子模块的POM配置文件如下,很好理解:
父模块POM配置:
4.0.0 cn.edu.hdu.mm multi-module 0.0.1-SNAPSHOT pom multi-module multi module projects. multi-module-common multi-module-dao multi-module-service multi-module-web
其中的一个子模块POM配置:
4.0.0 cn.edu.hdu.mm multi-module 0.0.1-SNAPSHOT multi-module-common multi-module-common http://maven.apache.org UTF-8 junit junit 3.8.1 test
在这个demo中,模块之间的依赖关系如下:
web依赖service,service依赖dao,dao依赖common模块;
配置依赖关系很简单,比如我们需要在dao模块里配置其依赖common模块,只需在pom添加如下代码片段,跟平时的添加依赖一样:
${project.groupId} multi-module-common ${project.version}
注意这里的${project.groupId}和${project.version}指的是本模块的groupId和version,因为该模块和multi-module-common模块的共同父模块为multi-module,其groupId和version都继承自multi-module,所以我们这里直接写本模块的groupId和version即可。
完成以上配置后,就可以开始开发我们的程序了,往common模块写一些公共的东西,dao模块访问数据源,service模块业务需求,web可以写一些jsp,action、controller等;
这里,我简单的写了个spring + spring mvc + mybatis的demo,添加了一个用户增删改查模块,前端页面就没写了~代码见最后的链接。
工程目录大致如下:
代码写完之后,添加数据库(脚本在工程里),然后可以在父工程的pom.xml文件里添加tomcat7-maven-plugin插件配置,右键执行tomcat:run命令,运行war包,也可以右键调试工程,debug As...
执行命令,可看到如下日志,通过日志可以看到具体的执行过程:
执行完命令后,浏览器地址输入http://localhost:8080/multi-module-web/user/getUserList.do?pageNo=0&pageSize=5,访问controller,访问成功:
本文转自风一样的码农博客园博客,原文链接:http://www.cnblogs.com/chenpi/p/5987332.html,如需转载请自行联系原作者