【从零开始】【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 文档的几个痛点: 文档需要更新的时候,需要再次发送一份给前端,也就是文档更新交流不及时. 接口返回结果不 ...
随机推荐
- [luogu2679] 子串 (多维dp)
传送门 Description 有两个仅包含小写英文字母的字符串 A 和 B . 现在要从字符串 A 中取出 k 个互不重叠的非空子串,然后把这 k 个子串按照其在字符串 A 中出现的顺序依次连接起来 ...
- Springmvc中ajax与jason应用
Springmvc中ajax与jason应用 相关依赖包 json数据转换的jar包 jackson-annotations-2.5.4 jackson-core-2.5.4 jackson-data ...
- Java 实现线程安全的三种方式
一个程序在运行起来的时候会转换成进程,通常含有多个线程. 通常情况下,一个进程中的比较耗时的操作(如长循环.文件上传下载.网络资源获取等),往往会采用多线程来解决. 比如显示生活中,银行取钱问题.火车 ...
- 【hihocoder 1329】 平衡树·Splay(set做法)
[题目链接]:http://hihocoder.com/problemset/problem/1329 [题意] [题解] 因为一开始是空的树,所以; n其实就代表了树中的最多元素个数; 则最坏的情况 ...
- Spring Cloud-Ribbon负载均衡策略类IRule(五)
IRule IRule AbstractloadBalancerRule 负载均衡策略抽象类 负责获得负载均衡器 保存在内部 通过负载均衡器维护的信息 作为分配的依据 public abstract ...
- 你真懂JavaScript吗?
正文 题目1: if (!("a" in window)) { var a = 1; } alert(a); 题目2 var a = 1, b = function a(x) { ...
- [深入理解Android卷一全文-第七章]深入理解Audio系统
由于<深入理解Android 卷一>和<深入理解Android卷二>不再出版,而知识的传播不应该由于纸质媒介的问题而中断,所以我将在CSDN博客中全文转发这两本书的全部内容. ...
- springmvc and maven
使用Maven构建Spring MVC项目的简单示例 标签: mavenspringmvcspring 2013-09-29 12:40 42823人阅读 评论(8) 收藏 举报 分类: Maven ...
- UI 经常用法总结之--- UIWindow UIView (不断更新中)
UIWindow (UIView) 1.创建一个uiwindow对象 self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScr ...
- bzoj4887: [Tjoi2017]可乐
一眼暴力宽搜(最近比赛想暴力想疯了... 很明显的矩乘,然后自爆可以看作走向向一个无出边的点 然后没啥难的了吧. #include<cstdio> #include<iostream ...