闲聊

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

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


开始

初衷

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

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

自己干活中体会是:

  • 加快效率:比如想找个数据库相关的,直接就去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. 单点登录之 CAS SSO 从入门到精通(第一天)

    转自:http://blog.csdn.net/lifetragedy/article/details/43817903 啊......it's quite a long time. 好久没更新博客了 ...

  2. CentOS 7.2 安装Python3.5.2

    系统环境: CentOS 7.2 x86_64 安装相关包 (1)# yum install zlib-devel bzip2-devel openssl-devel ncurses-devel sq ...

  3. 24.基于groovy脚本进行partial update

    主要知识点 在es中其实是有内置的脚本支持的,可以基于groovy脚本实现各种各样的复杂操作 基于groovy脚本,如何执行partial update es scripting module,我们会 ...

  4. 15.id生成的两种方式

  5. Django链接Mysql 8.0 出现错误(1045:Access denied for user 'root'@'localhost' (using password: NO) 的一种解决方法

    运行环境: Django版本2.0 ; Mysql 版本 8.0.11; 错误代码:  django.db.utils.OperationalError: (1045:Access denied fo ...

  6. centos 7.2 安装php56-xml

    linux下, 使用thinkphp的模板标签,如 eq, gt, volist defined, present , empty等 标签时, 报错: used undefined function ...

  7. orcale 多表连接

    多表连接:

  8. Spring @async 方法上添加该注解实现异步调用的原理

    Spring @async 方法上添加该注解实现异步调用的原理 学习了:https://www.cnblogs.com/shangxiaofei/p/6211367.html 使用异步方法进行方法调用 ...

  9. ArcEngine 地图导航 查找路径 经纬度坐标导航 最优路径分析

    本文来自CSDN博客.转载请标明出处 http//blog.csdn.net/zdb330906531 需求:依据经纬度坐标.取得两个起点与终点,显示最优路径实现导航. 參考官方样例后.我在arcMa ...

  10. BNU 34986 Football on Table

    "Bored? Let's play table football!" The table football is played on a rectangular table, u ...