闲聊

前几天还是太懒惰了,毕竟也是世界杯期间嘛,可以自我理解的,嘿嘿。

毕竟是从头开始,但是不一定适合所有新入门的人,所以搭框架啊、引入框架什么的,是占据最开始时间比较多的,代码层面的,可能要到靠后面一点了。


开始

初衷

说白了就是多模块的好处。

查了网上,无非是方便分工,方便拓展;

自己干活中体会是:

  • 加快效率:比如想找个数据库相关的,直接就去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】改造成多模块项目的更多相关文章

  1. 【Java】 Maven多模块项目上传到Sonar扫描问题合集

    上传到Soanr时,项目有单元测试数,但是覆盖率为0 修改pom.xml <plugin> <groupId>org.apache.maven.plugins</grou ...

  2. Java秒杀系统实战系列~构建SpringBoot多模块项目

    摘要:本篇博文是“Java秒杀系统实战系列文章”的第二篇,主要分享介绍如何采用IDEA,基于SpringBoot+SpringMVC+Mybatis+分布式中间件构建一个多模块的项目,即“秒杀系统”! ...

  3. java分模块项目在idea中使用maven打包失败(ps:maven常用到的命令)

    一.分模块项目打包失败 情况:项目是分模块创建的,一些公共的方法是单独的一个模块common,其他模块依赖于此模块,poom依赖已经添加了,项目可以正常运行,但使用maven打包时出现了问题:找不到依 ...

  4. IntelliJ IDEA中创建Web聚合项目(Maven多模块项目)

    Eclipse用多了,IntelliJ中创建Maven聚合项目可能有小伙伴还不太熟悉,我们今天就来看看. IntelliJ中创建普通的Java聚合项目相对来说比较容易,不会涉及到web操作,涉及到we ...

  5. 38.IntelliJ IDEA中创建Web聚合项目(Maven多模块项目)

    转自:https://blog.csdn.net/u012702547/article/details/77431765 Eclipse用多了,IntelliJ中创建Maven聚合项目可能有小伙伴还不 ...

  6. IntelliJ IDEA中创建Web聚合项目(Maven多模块项目)(转载)

    创建parent项目 1.打开IDEA,注意这里不要勾选模板,用模板创建过maven项目的小伙伴都知道模板创建项目非常慢,所以这里不要选模板,需要的文件夹我们后面自己来创建就可以了.所以这个页面直接点 ...

  7. SSH框架之一详解maven搭建多模块项目

    闲来无事,思量着自己搭建一个ssh框架,一来回顾熟悉一下ssh的内容,hibernate还就没用过了,生疏了都.二来整合一下,将其他掌握的和正在学习的框架核技术糅合到一起,就当是做一个demo练手了. ...

  8. Java 9 揭秘(4. 模块依赖)

    文 by / 林本托 Tips 做一个终身学习的人. 在此章节中,主要学习以下内容: 如何声明模块依赖 模块的隐式可读性意味着什么以及如何声明它 限定导出(exports)与非限定导出之间的差异 声明 ...

  9. Spring boot 多模块项目 + Swagger 让你的API可视化

    Spring boot 多模块项目 + Swagger 让你的API可视化 前言 手写 Api 文档的几个痛点: 文档需要更新的时候,需要再次发送一份给前端,也就是文档更新交流不及时. 接口返回结果不 ...

随机推荐

  1. 11. IDEA 在同一工作空间创建多个项目

    1.创建项目 二..创建工作空间 JavaWorkspace 1.File-> New Project -> 创建工作空间 JavaWorkspace,并 顺便创建项目 JavaOne 2 ...

  2. phpcms 电脑手机合并

    电脑手机端 ========================== <script type="text/javascript"> function browserRed ...

  3. 命令行下配置Windows 2003防火墙

    命令:netsh firewall 参数: ? // 显示命令列表 add // 添加防火墙配置 delete // 删除防火墙配置 dump // 显示一个配置脚本 help // 显示命令列表 r ...

  4. 0622通过插件的方式来热安装sphinx

    1.查看当前运行的mysql版本 mysqldump --version 我的Mysql版本5.5.32 2.下载对应的mysql 5.5.32 (版本号一定不能错,要不安装不成功)源码,并解压 下载 ...

  5. HDU 3934

    /*这是用的有旋转卡壳的思想. 首先确定i,j,对k进行循环,知道找到第一个k使得cross(i,j,k)>cross(i,j,k+1),如果k==i进入下一次循环. 对j,k进行旋转,每次循环 ...

  6. pl/sql developer 自带汉化选项

    pl/sql developer 自带汉化选项 版本:11.0.2 工具 -> 选项 -> 用户界面 ->外观, 第一项就是选择语言: 选择Chinese.lang,如果有的话:

  7. BZOJ 3037 创世纪 树形DP

    题目大意:给定一张有向图,每一个点有且仅有一条出边,要求若一个点x扔下去,至少存在一个保留的点y,y的出边指向x,求最多扔下去多少个点 首先原题的意思就是支配关系 我们反向考虑 求最少保留的点 要求一 ...

  8. @RequestParam,@PathVariable等注解区别

    一.@RequestParam和@PathVariable的区别 1.@RequestParam是从uri中request后面的参数串来取得参数的 2.@PathVariable是从uri模板中取得参 ...

  9. 【cl】sikuli下载安装

    前提条件: 1.请确保你已经安装java 6 JRE 32位版本(如果是java 7 或者是64位JRE 那是不被支持的) 2.请确定你已经卸载的先前的sikuli版本(尤其是0.10.x版本) 3. ...

  10. yolo源码解析(3):视频检测流程

    代码在自己电脑中!!!!不在服务器 根据前文所说yolo代码逻辑: ├── examples │ ├── darknet.c(主程序) │ │── xxx1.c │ └── xxx2.c │ ├── ...