一、项目结构

multi-module-parent是主工程,里面包含两个模块(Module):

module-web是应用层,用于界面展示,依赖于module-core参的服务。 module-core层是服务层,用于给web层提供服务。

跟java的package类似,一般是按照的功能模块分module,比如:sso/cas/portal/activity/system,具体可根据需要

以上两种方式都可以,现在更多的应该是倾向第一种按照功能来解耦,module前期可以配置成jar,后期也可以建立独有的页面,独立的站点,通过子域名的方式访问,各个功能模块解耦,趋向微服务架构

二、构建项目

2.1 Parent Project

新建一个空白标准maven project(不要选择Create from archetype选项)

填写项目坐标,得到一个标准的maven项目,因为该项目是作为一个Parent project存在的,可以直接删除src文件夹(父文件下只有自己的pom文件和模块文件)。

2.2 增加module-web模块(Module)

选择从archetype创建(选择webapp选项)

groupId和version继承自Parent project,这里只需要填写artifactId即可。

注意:这里Add as module to 有的人会删除,如果删除了创建的模块文件就会和父模块(parent)同级了,这里看个人喜欢。文件夹结构怎么样都行,重要的pom文件里面的父子结构要设置正确。

2.3增加module-core模块

用同样的方法创建module-core模块(不过该模块是一个空白maven标准项目,不要从archetype创建)

2.4 得最终项目结构

2.5 关键几点

1,Parent project和各个Module拥有独立pom文件 2,Parent project用于组织不同的Module,不实现逻辑 3,Module集成Parent project的groupId和version,Module只需要指定自己的artifactId即可。

三、添加项目依赖

上面的操作是添加web对core模块的依赖,完成上述操作后core中public的类已经在web模块中可见了,如果不加模块依赖,web下的jsp用不了core里面的方法,会抱错:

此外还需要在web的pom文件中增加对core的依赖,这个主要是为了web里面的Java模块调用core的服务:

以上,项目依赖的添加已经完成。

四、开始编程

4.1 module-core模块编程

在core模块中增加一个Service类(SimpleService.java):

4.2 module-web模块编程

修改web下的jsp文件,调用core服务:

五、运行

如果想了解热部署和继承关系等配置请看: IntelliJ Idea14 创建Maven多模块项目,多继承,热部署配置总结(二)

项目demo地址:github.com/BothEyes199…

转载于:https://juejin.im/post/5cf3f88df265da1bad56ee9e

IntelliJ Idea14 创建Maven多模块项目,多继承,热部署配置总结(一)相关推荐

  1. eclipse创建maven多模块项目(单个类似)

    2019独角兽企业重金招聘Python工程师标准>>> 1.下载安装maven 1.1.下载 注意:maven的版本,要根据你的jdk版本来下载.要不会安装失败,提示版本问题哦 Jd ...

  2. 利用intellijidea创建maven多模块项目

    本文通过一个例子来介绍利用maven来构建一个多模块的jave项目.开发工具:intellij idea. 一.项目结构 multi-module-PRoject是主工程,里面包含两个模块(Modul ...

  3. 通过命令行创建MAVEN多模块项目

    2019独角兽企业重金招聘Python工程师标准>>> 前言: 为何要为MAVEN项目划分多个模块?请参考:Maven最佳实践:划分模块 一.开发环境 WIN7 + JDK6 + M ...

  4. 【已解决】IDEA创建Maven多模块项目子模块引用不到父模块的pom

    [方法来自评论,在最后.] 首先,我使用的版本是IDEA2019.2.1 出现的问题是,在Maven项目中创建Module后,pom文件没有自动生成下图的parent 下面放上我创建Module的过程 ...

  5. 新建JRapid项目(idea创建maven多模块项目)

    1.第一步,新建项目(Create New Project) 2.parent项目,不勾选"Crate from archetype",直接单击"Next". ...

  6. IDEA下Maven多模块项目介绍和搭建

    为什么80%的码农都做不了架构师?>>>    1Maven多模块项目介绍 为了便于演示和表达,在intellij中建了小项目进行举例,如下图所示 其中web-m2模块,依赖于com ...

  7. 在Eclipse中创建Maven多模块工程的例子

    参考:http://ju.outofmemory.cn/entry/75620 如果,你需要创建多个项目,项目之间即独立又有关系,那么创建一个Maven多模块项目是个非常好的选择,也非常cool!怎么 ...

  8. 在 IntelliJ IDEA 中创建基本的 Maven 多模块项目

    在 IntelliJ IDEA 中创建基本的 Maven 多模块项目 笔者的环境: Maven 3.6.3 JDK 11 IntelliJ IDEA 2020.2.2 (Ultimate Editio ...

  9. 解决IntelliJ IDEA 创建Maven项目速度慢问题 DarchetypeCatalog

    解决IntelliJ IDEA 创建Maven项目速度慢问题 DarchetypeCatalog 参考文章: (1)解决IntelliJ IDEA 创建Maven项目速度慢问题 DarchetypeC ...

  10. SpringBoot+Maven 多模块项目的构建、运行、打包实战

    https://www.jb51.net/article/140772.htm?proxy=1 这篇文章主要介绍了SpringBoot+Maven 多模块项目的构建.运行.打包实战,小编觉得挺不错的, ...

最新文章

  1. R语言使用caret包构建岭回归模型(Ridge Regression )构建回归模型、通过method参数指定算法名称、通过trainControl函数控制训练过程
  2. Linux搭建lamp(Apache+PHP+Mysql环境)centos7.2版详细教程
  3. nyoj164——卡特兰数(待填坑)
  4. 【Python五篇慢慢弹(5)】类的继承案例解析,python相关知识延伸
  5. seo vue 动态路由_VUE项目SEO问题的解决
  6. 关于matlab中get和set的用法
  7. java未_Java未被捕获的异常
  8. 字符串常量池(StringTable)总结
  9. 网络编程中udp,tcp.客户端,和服务器端。运用到的软件,串口调试助手 NetAssist
  10. 耦合电感元件的相关概念
  11. Web前端工程师工资逐年增长,背后有哪些因素?
  12. 人工智能在肿瘤成像中的临床挑战和应用
  13. 互联网晚报 | 12月10日 星期五 | B站月均活跃UP主达270万人;宝马电动车总销量破百万;苹果市值逼近3万亿美元...
  14. 老电脑换Linux系统是否会更快,旧电脑不要装Windows!Bodhi Linux系统,小巧强悍,运行更流畅...
  15. 【转载】用reshacker轻松修改系统OEM信息
  16. MySQL中的查询小技巧
  17. 将win7电脑无线网变身WiFi热点,让手机、笔记本共享上网
  18. php变量名动态生成,PHP中动态创建变量名(可变变量) | 学步园
  19. mysql 5.7 查询分类并返回json格式的数据
  20. Java实现旅行商问题

热门文章

  1. 利用HttpHandler和Cache统计点击量
  2. GARFIELD@10-21-2004
  3. 从零基础入门Tensorflow2.0 ----二、5.1 超参数搜索
  4. pip更新导致ImportError: cannot import name ‘InvalidSchemeCombination‘ from ‘pip._internal.exceptions‘
  5. 高分四号数据计算表观反射率
  6. node解决request返回内容gzip乱码问题
  7. sublime跳转到函数定义
  8. mysql排序同值排名一致
  9. oracle 检查链接数,oracle连接数检查
  10. 数据结构-----队列笔记