【从零开始】【Java】【3】改造成多模块项目
闲聊
前几天还是太懒惰了,毕竟也是世界杯期间嘛,可以自我理解的,嘿嘿。
毕竟是从头开始,但是不一定适合所有新入门的人,所以搭框架啊、引入框架什么的,是占据最开始时间比较多的,代码层面的,可能要到靠后面一点了。
开始
初衷
说白了就是多模块的好处。
查了网上,无非是方便分工,方便拓展;
自己干活中体会是:
- 加快效率:比如想找个数据库相关的,直接就去DAO模块了,当然谁写到其他模块了的话,那就是一顿臭骂了吧。
- 和框架结合:比如web项目,就可以和mvc框架结合的很好啊;
- 看起来爽:看着清爽,虽然不是处女座,但依然是清爽的舒服;
操作
本来没有ide的话,还会麻烦些,但现在ide真的是强大;
不过跟大家说下注意的吧:整个都是文件夹结构的变化而已!!!!注意本质哦,这样脱离了ide,搞这些还是很简单的;
用ide的话,直接在项目名右键,新,module就行了;
这里不用模板,直接下一步,然后填名称,建议有个统一的前缀,更舒服;
后面就是体验ide强大了:
- 每个module中都会有一个pom文件,会发现这个pom文件的artifactId就是module的名字;另外会有parent标签,指向父pom文件,也就是原始的pom文件;
- 最外层,也就是以前那个pom文件中,标签由jar变为pom文件,也就是说这不在是单一jar包的pom文件,而是整个项目的被继承的文件;
- 另外,父pom文件中出现标签,指向他的“儿子们”,和子pom文件中的parent遥相呼应,自行体会吧;
除此以外,还需要人工改造下父pom文件,其实就是加入标签,以管理多模块的依赖;
这篇写的比较详细:Maven实战(六)--- dependencies与dependencyManagement的区别
大概就是说:
- dependencyManagement只是声明,在父pom中出现,然后子pom需要依赖那个,就在子pom中的dependencies中依赖(最好不要写版本号)
- dependencies:父pom中的,加入写了,就表明所有子pom都依赖改包,子pom中无需再重复依赖;
所以使用起来最好规范下(对,说的就是我们不规范的,manage和dependencies中写两份...)
最后给出我现在的项目结构,以及父pom截图(子pom你们自己尝试吧)


结束
总结下:
- 多模块开发一个项目,分块使得效率更高;
- 搞清楚父子pom文件以及依赖管理;
【从零开始】【Java】【3】改造成多模块项目的更多相关文章
- 【Java】 Maven多模块项目上传到Sonar扫描问题合集
上传到Soanr时,项目有单元测试数,但是覆盖率为0 修改pom.xml <plugin> <groupId>org.apache.maven.plugins</grou ...
- Java秒杀系统实战系列~构建SpringBoot多模块项目
摘要:本篇博文是“Java秒杀系统实战系列文章”的第二篇,主要分享介绍如何采用IDEA,基于SpringBoot+SpringMVC+Mybatis+分布式中间件构建一个多模块的项目,即“秒杀系统”! ...
- java分模块项目在idea中使用maven打包失败(ps:maven常用到的命令)
一.分模块项目打包失败 情况:项目是分模块创建的,一些公共的方法是单独的一个模块common,其他模块依赖于此模块,poom依赖已经添加了,项目可以正常运行,但使用maven打包时出现了问题:找不到依 ...
- IntelliJ IDEA中创建Web聚合项目(Maven多模块项目)
Eclipse用多了,IntelliJ中创建Maven聚合项目可能有小伙伴还不太熟悉,我们今天就来看看. IntelliJ中创建普通的Java聚合项目相对来说比较容易,不会涉及到web操作,涉及到we ...
- 38.IntelliJ IDEA中创建Web聚合项目(Maven多模块项目)
转自:https://blog.csdn.net/u012702547/article/details/77431765 Eclipse用多了,IntelliJ中创建Maven聚合项目可能有小伙伴还不 ...
- IntelliJ IDEA中创建Web聚合项目(Maven多模块项目)(转载)
创建parent项目 1.打开IDEA,注意这里不要勾选模板,用模板创建过maven项目的小伙伴都知道模板创建项目非常慢,所以这里不要选模板,需要的文件夹我们后面自己来创建就可以了.所以这个页面直接点 ...
- SSH框架之一详解maven搭建多模块项目
闲来无事,思量着自己搭建一个ssh框架,一来回顾熟悉一下ssh的内容,hibernate还就没用过了,生疏了都.二来整合一下,将其他掌握的和正在学习的框架核技术糅合到一起,就当是做一个demo练手了. ...
- Java 9 揭秘(4. 模块依赖)
文 by / 林本托 Tips 做一个终身学习的人. 在此章节中,主要学习以下内容: 如何声明模块依赖 模块的隐式可读性意味着什么以及如何声明它 限定导出(exports)与非限定导出之间的差异 声明 ...
- Spring boot 多模块项目 + Swagger 让你的API可视化
Spring boot 多模块项目 + Swagger 让你的API可视化 前言 手写 Api 文档的几个痛点: 文档需要更新的时候,需要再次发送一份给前端,也就是文档更新交流不及时. 接口返回结果不 ...
随机推荐
- eas之action的创建
protected KDWorkButton btnFileManage; protected ActionFileManage actionFileManage = null; pub ...
- Es6获取数据
$(function(){ $.ajax({ //请求方式 type:"GET", //文件位置 url:"js/data.json", //返回数据格式为js ...
- H5-video1 iOS苹果和微信中音频和视频实现自动播放的方法
<audio preload="preload" controls id="car_audio" src="http://media.xitao ...
- 关于Java中返回零长度数组或空集合比较好,还是返回null这个问题的一些想法
近日在方法返回类型为List数据类型时,返回结果为空集合比较好,还是null比较好的问题上有点纠结. 我觉得应该统一返回空集合,这样可以不用进行空指针的判断,不然又多了一个产生bug的可能性.而有人认 ...
- luogu P4725 多项式对数函数 (模板题、FFT、多项式求逆、求导和积分)
手动博客搬家: 本文发表于20181125 13:25:03, 原地址https://blog.csdn.net/suncongbo/article/details/84487306 题目链接: ht ...
- mysql deadlock、Lock wait timeout解决和分析
项目上线 线上遇到大量的deadlock 和wait timeout 但是看程序没什么问题 问dba也不能给出很好的解决方案!最终自己去了解mysql锁 以及看mysq锁日志 如果了解mysql锁的机 ...
- ExtJs之Ext.grid.GridPanel(部分未完)
今天在家休息,年假不用就作费啊. 看了几部香港老电影,陪爸爸看了勇士占奇才, 然后,测试了一下EXTJS未完的内容, 在京东上订了七本历史普及书,近两百块..:) 搞定. <!DOCTYPE h ...
- [bzoj3717][PA2014]Pakowanie_动态规划_状压dp
Pakowanie bzoj-3717 PA-2014 题目大意:给你n个物品m个包,物品有体积包有容量,问装下这些物品最少用几个包. 注释:$1\le n\le 24$,$1\le m\le 100 ...
- fastjson null 值处理
偶然用到fastjson转换json 在前台用js解析竟然某些字段没有,曾经用过gson.联想到是不是相似gson默认将null值不显示了,找了下资料果真如此 直接上代码吧 import java.u ...
- golang自己定义数据类型查询与插入postgresql中point数据
golang自己定义数据类型查询与插入postgresql中point数据 详细代码例如以下: package main import ( "bytes" "databa ...