Maven 多模块开发
多模块开发在大项目中用得比较多,把一个项目拆分为多个模块,一个小组开发一个模块。
比如微服务,一个服务一个模块;比如ssm,持久层(dao)一个模块,业务层一个模块(service)、视图层(mvc、web、view)一个模块。当然ssm不算大,也可以用。
此处以ssm为例。
方式一:父子工程(聚合工程)
这种方式是多模块开发最常用的,推荐。
(1)创建父工程


父工程只是作为容器,留下pom.xml管理整个项目的依赖即可,将src删掉。
(2)创建子模块
对父工程单击右键,新建模块:

如果是dao、service这样不使用视图的模块,新建普通模块即可;如果是view(mvc)这样要使用视图的模块,新建web模块:


在父工程的pom.xml中可以看到各子模块:
<modules>
<module>dao</module>
<module>service</module>
<module>view</module>
</modules>
方式二:
(1)创建空工程

不会生成什么文件、文件夹,没有pom.xml文件。
(2)添加子模块
和第一种的(2)差不多,不一样的地方:

可以新建模块,也可以导入已存在的模块:

可设置各模块使用的jdk版本、依赖:

可设置各模块编译使用的jdk版本:

父子工程只有一个root——父容器,空项目作为容器时,每个子模块都是root。
Maven 多模块开发的更多相关文章
- spring+springmvc+hibernate架构、maven分模块开发样例小项目案例
maven分模块开发样例小项目案例 spring+springmvc+hibernate架构 以用户管理做測试,分dao,sevices,web层,分模块开发測试!因时间关系.仅仅測查询成功.其它的准 ...
- Spring Boot 的Maven多模块开发web项目使用外部容器进行部署
Spring Boot中自带有Tomcat容器,因此Spring Boot项目只需要运行main函数,就可以运行,但是以往的web项目,我们习惯于使用自己安装的Tomcat运行或者使用Tomcat.J ...
- Maven多模块开发SpringBoot项目自定义第三方依赖版本
参考:官方文档 - Build System of Maven https://blog.didispace.com/books/spring-boot-reference/IX. 'How-to' ...
- java web课程设计(简单商城的前后端双系统,基于maven三模块开发)
1.系统分析 1.1需求分析 实现一个简单但功能完整的商城项目,从设计到实现,规范化完成该项目,锻炼javaweb项目的编写能力,理解软件工程的软件设计思想 1.2编程技术简介 本次课程主要使用的软件 ...
- Maven的继承与聚合——多模块开发
一:Maven多模块项目,适用于一些比较大的项目,通过合理的模块拆分,实现代码的复用,便于维护和管理.尤其是一些开源框架,也是采用多模块的方式,提供插件集成,用户可以根据需要配置指定的模块. 二:继承 ...
- SpringBoot Maven多模块整合MyBatis 打包jar
最近公司开始新的项目,框架选定为SpringBoot+Mybatis,本篇主要记录了在IDEA中搭建SpringBoot多模块项目的过程. 源码:https://github.com/12641561 ...
- 程序员你的maven多模块项目如何对外输出为一个构件?
上图为常见的台式机,程序员,你看了有啥启发? 台式机生产线 我的maven代码工程 xxx 显示器 xxx-web 主机 xxx-app 键盘 xxx-domian 鼠标 xxx-infrastrat ...
- spring boot & maven 多模块 ---心得
1.前言 有个名字叫 多模块企业级项目 ,其实就是一个父级maven工程里面有着多个子级maven工程的项目 ,甚至在子级maven 里面还有多个子级maven, 这用到了 maven多模块开发的使 ...
- 【转】Maven实战(二)---多模块开发---缺少Jar包
原博文出于:http://blog.csdn.net/liutengteng130/article/details/41611755 感谢! Maven里面的Jar包经常出现Missing的情况 ...
随机推荐
- 如何在GitHub上大显身手?
推荐一篇良许大佬的文章,如何在github上大显身手.拥有自己的github,且有所贡献,这是一件很有意义的的事情,在面试上也是加分项哦,赶紧搞起来. 转载至http://uee.me/aHAfN 这 ...
- spring.net 基础 1
Spring.NET是一个应用程序框架,其目的是协助开发人员创建企业级的.NET应用程序 1: 在2004年初,Martin Fowler曾经问他网站的读者:当我们谈到控制反转时,"问题是, ...
- 使用Razor 使用Razor表达式处理命名空间 精通ASP-NET-MVC-5-弗瑞曼
- 【WPF学习】第二十六章 Application类——应用程序的生命周期
在WPF中,应用程序会经历简单的生命周期.在应用程序启动后,将立即创建应用程序对象,在应用程序运行时触发各种应用程序事件,你可以选择监视其中的某些事件.最后,当释放应用程序对象时,应用程序将结束. 一 ...
- STVP编译时遇到no default placement for segment .FLASH_CODE
最近编译STM8S003时需要使用flash库函数,看起来简单,实则折腾了超过1天.今天总结方法如下: 1.修改stm8s.h 156行 #define RAM_EXECUTION 注释去掉 如 ...
- 聊聊SpringBoot | 第一章:快速搭建SpringBoot第一个应用
快速搭建SpringBoot第一个应用 1.简介 本章仅介绍如何快速搭建第一个SpringBoot应用,细节内容下一章再做讲解,如果有需要,各位可以直接到Spring官网去了解. 从 Spring B ...
- DISCUZ 如何为主题帖列表页添加头像,显示发帖者头像
只显示名字的代码 ```php<em style=" font-size:14px;"> <!--{if $thread['authorid'] &&am ...
- vuede axios文件下载
this.loading = true; this.$http({ baseURL: CLOUD_BASE_SERVER_URL, url: '/audit/auditRun/ex ...
- Owncloud - Can't write into config directory!
Owncloud - Can't write into config directory! Can't write into config directory! This can usually be ...
- ncbi-blast 本地安装
详见:http://blog.shenwei.me/local-blast-installation/ Linux系统中NCBI BLAST+本地化教程 本文面向初学者(最好还是懂得基本的linux使 ...