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

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

设计层面

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

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

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

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

创建父项目

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

img

(2)选择Maven project开始建立父项目。如下图,选择create a simple project,原因父项目需要建立的packaging为POM,子项目建立的packaging为jar或者war,勾选此处,在下一步中可以选择packaging:

img

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

img

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

img

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

创建子项目

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

****

img

(2)创建完之后就可以看到如下的内容:

img

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

跨项目访问内容

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

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

​ ****

img

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

img

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

img

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

img

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

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

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

原文地址:https://blog.csdn.net/qq_43842093/article/details/121550426

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


本篇文章和大家了解一下怎么搭建maven私有仓库。有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助。在本篇文章中,我们将介绍如何搭建一个Maven...
今天小编给大家分享的是如何解决Maven依赖冲突,相信很多人都不太了解,为了让大家更加了解,所以给大家总结了以下内容,一起往下看吧。一定会有所收获的哦。目...
这篇文章主要介绍了Maven仓库分类的优先级是什么的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Maven仓库分类的优先级是什么文...
本篇内容主要讲解“Maven怎么实现自己的starter依赖”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Maven怎
本篇内容主要讲解“maven不能下载oraclejdbc驱动的问题怎么解决”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大...
这篇文章主要介绍了怎么使用maven基本命令打包包名的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇怎么使用maven基本命令打包包...
本篇内容介绍了“maven中profile如何使用”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧...
本文小编为大家详细介绍“Maven打包没有指定主类问题怎么解决”,内容详细,步骤清晰,细节处理妥当,希望这篇“Maven打包没有指定主类问题怎么解决”文章能帮助...
这篇文章主要介绍“maven怎么打包动态环境变量”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“maven怎么打包动态环...
今天小编给大家分享一下Maven离线模式打包的步骤是什么的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考
本文小编为大家详细介绍“maven打包时候修改包名称带上git版本号和打包时间的方法是什么”,内容详细,步骤清晰,细节处理妥当,希望这篇“maven打包时候修改包...
这篇文章主要讲解了“maven打包怎么指定jdk的版本”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“maven打...
这篇“Maven打包时怎么指定启动类”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读
这篇文章主要讲解了“怎么使用jenkins配置maven和JDK”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“怎
这篇文章主要介绍了maven中配置项目的jdk版本无效怎么排查的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇maven中配置项目的jdk...
今天小编给大家分享一下Maven提示jdk版本不正确怎么解决的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考
本篇内容主要讲解“maven优缺点及使用方法是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“maven优缺点
这篇文章主要介绍“maven项目引入maven库没有jar怎么处理”,在日常操作中,相信很多人在maven项目引入maven库没有jar怎么处理问题上存在疑惑,小编查阅了各式资...
本篇内容主要讲解“怎么下载远程maven仓库的jar并手动放到本地仓库”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学...
这篇文章主要介绍“maven私服搭建与使用的方法是什么”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“maven私服搭建...