使用Maven管理项目,同时我们是做微服务,所以对于微服务项目来说,使用Maven建立起一个父子项目这种关系,很方便管理(只是个人感觉)

设计层面

(1)服务端和客户端肯定是分开写的,另外还有一个公共的项目,比如一些实体类等都是可以作为公共的类放到这个公共的项目。

(2)这样来说,子项目至少有三个,server(服务层子项目)、web(视图层子项目)、common(公共层子项目)。这可不是定义哈,是我自己起的。

(3)父项目可以命名为parent,这样就构成了一个父子项目的概念。下面开始建立。

补充注意:这几天把一个小项目建好,交给领导,领导说我设计错误,将来会有上百个微服务项目,common如果作为单个的微服务的公共层,未免有点浪费,领导说应该是放所有微服务子项目共有的东西,具体我也不懂,所以在这里误解大家了,抱歉,但是建立父子项目的方法还是这样的,但是微服务项目设计不是这样的,可以参照!!!

创建父项目

(1)下边这张图是父子项目建立的不同之处,父项目建立是建Maven project,即项目。子项目建立的是Module,即模块。如下:

(2)选择Maven project开始建立父项目。如下图,选择create a simple project,原因父项目需要建立的packaging为POM,子项目建立的packaging为jar或者war,勾选此处,在下一步中可以选择packaging:
(3)再次提醒,父项目的packaging选择POM,子项目选择Jar或者war,顺便说一句,一般来说,要创建在tomcat里运行的项目,应该是要创建war,比如本文说的service子项目和web子项目,应该是创建成war,但是有例外是,如果要创建spring boot微服务项目,因为spring boot采用的都是富jar形式,就需要所有的子项目都为jar,这仅仅是个人理解,具体按照自己的需求建立。

(4)如果不小心将父项目的packaging建立成不是POM的,可以打开项目的pom.xml文件,进行修改。如下:

(5)修改完保存后,项目会报错,直接项目右击选择Maven------->update project即可。

创建子项目

(1)子项目的创建必须选择maven module,同时在里边制定父项目就可以了,注意不要忘记,在前边将父项目的packing由Jar改为POM\,具体创建子项目步骤如下:

****

(2)创建完之后就可以看到如下的内容:
(3)同理,将service子项目和web子项目建立完成后,这时候点击父项目里的pom.xml,就会看到如下内容:

(4)这样就完成了父子项目的创建。但是如何进行项目与项目之间的关联,还要进行一些配置。

跨项目访问内容

比如本文中的common子项目为公共项目,其中可以将公用的东西,比如实体类、工具类等存储到该项目,将来,可以在service子项目和web子项目中直接调用即可,如果达到这样的功能,就需要添加依赖标签。以service子项目调用common子项目为例,步骤如下:

(1)测试要求:首先在common子项目中建立一个Person类,然后在service子项目中建立一个TestPerson类,在该类中调用Person类。

​ ****

(2)其实就是要在service子项目中引入common子项目的依赖即可。如下,在service子项目的pom.xml中添加如下内容:

(3)在service子项目中添加完以上一个依赖标签,该标签指向common子项目,这样就相当于将common子项目中的内容获取到了,注意写入以上的内容,前提,必须common子项目中有如下内容,该内容默认是存在的,只要不乱删除,就一直会有的,否则,就算在service子项目中填上上边的依赖,也无法获取到其中的内容。

(4)好了,在service子项目中测试一番吧,如下:

(5)这样就完成了项目之间的调用,将来就把所有的公共内容放到common子项目中,同理web子项目想要引入common子项目也是如此。

(6)除了公用的类,可以公用,也包括jar包,可以在common子项目中导入,这样service子项目中也可以用到该jar包。

父项目只是充当聚合层,不写任何代码,父项目只是负责管理依赖

Maven 建立父子项目和跨项目调用内容的步骤相关推荐

  1. Maven建立父子工程

    Maven建立父子模块 一.创建父工程 二.创建子工程 三.关联父子模块 一.创建父工程 1.File–>new–>project 2.全部默认(jdk1.8),直接Next 3.修改默认 ...

  2. maven添加子工程_Maven建立父子项目和跨项目调用内容的步骤—佳佳小白

    设计层面 (1)服务端和客户端肯定是分开写的,另外还有一个公共的项目,比如一些实体类等都是可以作为公共的类放到这个公共的项目. (2)这样来说,子项目至少有三个,server(服务层子项目).web( ...

  3. Eclipse使用Maven建立SSM多模块的项目

    需求说明: 1.Eclipse利用Maven创建项目 2.通过Maven构建不同模块,对单个项目进行拆分(controller.service.dao层). 3.通过Maven替代原始的jar包导入( ...

  4. Maven 跨项目调用persistence.xml动态配置文件

    1.场景 由于业务原因,需要把common项目中的persistence.xml移至database项目中,并且persistence.xml的部分变量是调用了父项目的父级pom.xml的参数. 2. ...

  5. maven项目多模块相互调用方法

    maven项目多模块相互调用方法 问题背景 解决方法 方法1 方法2 问题背景 maven项目包括多个子模块,类似下图: 现在[web]模块某个类想要调用[service]模块的某个类的某个方法. 如 ...

  6. maven创建父子依赖项目—pom

    maven创建父子依赖项目 maven创建父子依赖项目: 参考思路: 思维图: 三种项目示例: jar:控制台项目: war:web项目: war:web项目:(待写) 案例:横向拆分(按照项目结构进 ...

  7. 深入理解微服务Maven父子项目构造以及项目打包部署

    一.问题背景 随着微服务项目的越来越流行,更多的公司开始使用微服务来搭建自己的业务系统.微服务很好地解耦了业务,每一个服务只提供特定的功能,真正的做到了各司其职,互不干扰,同时微服务间可以互相通信,可 ...

  8. 第一个使用Spring Tool Suite(STS)和Maven建立的Spring mvc 项目

    一.目标 在这篇文章中.我将要向您展示怎样使用Spring Frameworks 和 Maven build创建您的第一个J2ee 应用程序. 二.信息 Maven是一个java项目的构建工具(或者自 ...

  9. Maven 搭建spring boot多模块项目(附源码)

    Maven 搭建spring boot多模块项目 备注:所有项目都在idea中创建 1.idea创建maven项目 1-1: 删除src,target目录,只保留pom.xml 1-2: 根目录pom ...

最新文章

  1. cpc无法获取系统office信息_智能云信息发布系统解锁信息获取新方式
  2. JPA基础(一):全面阐释和精彩总结JPA
  3. 2018-2019-2 《网络对抗技术》Exp2 后门原理与应用 20165211
  4. numpy.triu详解
  5. Boost.Python Tutorial
  6. 第一个Windows程序讲解
  7. 使用 python 的 urllib2和 urllib模块爆破 form 表单的简易脚本
  8. linux头文件怎么编译,microsoft编译器怎么使用Linux头文件
  9. reinterpret_cast和static_cast的总结
  10. Linux 获取网关地址
  11. Spring Boot入门(2)-项目属性配置
  12. delphi xe10.4.2 datasnap客户端接收dataset返回值
  13. android外汇软件开发,外汇ea回测预装基于Android9.0深度定制的操作系统
  14. (73)Wangdao.com第十二天_JavaScript consol 对象与控制台
  15. 判断手机是安卓还是苹果
  16. GoldenGate—日常管理
  17. 大学毕业4年-回顾和总结(7)-全局观
  18. BERT大火却不懂Transformer?读这一篇就够了
  19. 十几年前跟QQ、MSN平起平坐的雅虎通要关闭了
  20. 想开发手机APP软件,首先要弄清楚以下10点

热门文章

  1. [转载] java实现四种常用排序算法
  2. node oauth2验证_如何设置和使用护照OAuth Facebook身份验证(第1部分)| Node.js
  3. 使用tkinter模块在Python中进行GUI编程
  4. 微服务feignclient_搞微服务用阿里开源的 Nacos 真香啊
  5. c语言cin输入数组,C++基础:各种输入方法总结cin.get()、
  6. in-nan(ind)_NaN16 Constant in Julia
  7. 高考能否决定一个人的命运?抱歉,真的可以!
  8. 判断dll是版本(Debug Or Release)[测试通过]
  9. Linux五种清理系统垃圾的方式
  10. python lxml xpath爬取图片代码