Maven父子结构的项目依赖使用以及打包依赖

1:在父子结构项目中,如果要是用其他模块的类。在当前项目中的pom中 加入 其他模块的配置

 <dependency><groupId>com.spring.mySpring</groupId><artifactId>mySpring-utils</artifactId><version>0.0.1-SNAPSHOT</version></dependency>

其中的groupId与artifactId还有version要与对应的模块一致

2:如果当前模块依赖其他模块,而且在打包的时候需要把依赖也打进去,则需要配置

<build><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId><!-- 指定程序的主类 --><configuration><mainClass>org.mySpring.service.TestService</mainClass></configuration><executions><execution><goals><goal>repackage</goal></goals></execution></executions></plugin></plugins></build>

3:总的pom示例如下

<?xml version="1.0"?>
<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><modelVersion>4.0.0</modelVersion><parent><groupId>com.spring.mySpring</groupId><artifactId>mySpring-parent</artifactId><version>0.0.1-SNAPSHOT</version></parent><artifactId>mySpring-service</artifactId><name>mySpring-service</name><url>http://maven.apache.org</url><properties><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding></properties><dependencies><dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>3.8.1</version><scope>test</scope></dependency><!--  使用其他子模块的依赖  --><dependency><groupId>com.spring.mySpring</groupId><artifactId>mySpring-utils</artifactId><version>0.0.1-SNAPSHOT</version></dependency></dependencies><!-- 打包的时候带其他的子模块 --><build><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId><!-- 指定程序的主类 --><configuration><mainClass>org.mySpring.service.TestService</mainClass></configuration><executions><execution><goals><goal>repackage</goal></goals></execution></executions></plugin></plugins></build>
</project>

微服务项目(maven父子级项目)怎么打包

项目层级结构:


common中的是没有main方法的工具类,service中的是有main方法的业务代码。

打包须知

这种微服务项目或者说是maven父子级项目打包要解决的问题就是具体业务代码依赖工具类代码,利用idea的maven插件可以很方便做到。

  • 在cloud_parent,common,service这些上层文件夹管理模块中,添加pom
  • 在没有main方法的工具模块中只添加jar
  • 在具体的业务代码模块中添加:
<packaging>jar</packaging><build>//maven的打包插件<plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId></plugin></plugins>//打包规则,打包时将resource文件夹打包进去<resources><resource><directory>src/main/java</directory><includes><include>**/*.yml</include><include>**/*.properties</include><include>**/*.xml</include></includes><filtering>false</filtering></resource><resource><directory>src/main/resources</directory><includes><include>**/*.yml</include><include>**/*.properties</include><include>**/*.xml</include></includes><filtering>false</filtering></resource></resources>
</build>

根据maven的继承特性,我在service文件夹模块中添加

这样,只需在每个有mian方法的具体的业务模块中的pom中添加:

<build>//maven的打包插件<plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId></plugin></plugins>
</build>

最终打包:只需对最顶层模块进行clean,install,在每个模块对应的target目录中找到jar包。


最后附上maven配置:

Maven父子结构的项目依赖使用以及打包依赖_微服务项目(maven父子级项目)怎么打包相关推荐

  1. 项目中最困难的部分_微服务最难的部分是什么? 您的资料

    项目中最困难的部分 在本文中,我将探讨创建和开发微服务时最棘手的问题:您的数据. 使用Spring Boot / Dropwizard / Docker并不意味着您在做微服务. 仔细查看您的域和数据将 ...

  2. 【微服务架构】基础的微服务架构模板、fianceCampus项目

    OfferCampus前期构建简单介绍: 搭建完整的模板Spring Cloud项目 内容管理 SpringCloud 项目 脚手架项目 ---- financeCapmus 项目结构 创建父项目(j ...

  3. 微服务架构案例(01):项目技术选型简介,架构图解说明

    本文源码:GitHub·点这里 || GitEE·点这里 一.单体架构 单体架构在中等偏小的业务中比较常见,场景模式就是单个应用.单个数据库.一个程序包(例如war格式或者Jar格式)包含所有业务需求 ...

  4. 【Spring Cloud 基础设施搭建系列】Spring Cloud Demo项目 使用Docker Compose编排Spring Cloud微服务

    文章目录 Docker Compose快速人门 入门示例 使用Docker Comose编排Spring Cloud微服务 使用Maven插件读取Dockerfile进行构建 使用Maven插件构建D ...

  5. 【Kubernetes 企业项目实战】07、最新一代微服务网格 Istio 入门到企业实战(下)

    目录 一.istio 核心资源解读 1.1 Gateway 总结: 1.2 VirtualService 1.2.1 VirtualService 主要由以下部分组成 1.2.2 virtualser ...

  6. JAVA Cloud微服务项目实战课程 SpringBoot 2.x +SpringCloud 微服务课程

    课程目录 第1章 课程介绍 课程导学和学习建议 1-1 SpringCloud导学 1-2 获取源码说明 1-3 提问建议 1-4 点餐项目演示说明 第2章 微服务介绍 什么是微服务, 单体架构优缺点 ...

  7. java版本号管理_微服务项目中如何管理依赖版本号?

    本文是微服务项目代码组织形式三部曲中的第三篇,也是最后一篇,通过这三篇文章,相信大家对于如果组织微服务中的代码已经有了一个基本认知,前面两篇分别是: 第三篇相对来说要简单一些,本来没打算写,但是上周有 ...

  8. 管理java版本号_微服务项目中如何管理依赖版本号?

    本文是微服务项目代码组织形式三部曲中的第三篇,也是最后一篇,通过这三篇文章,相信大家对于如果组织微服务中的代码已经有了一个基本认知,前面两篇分别是: 微服务项目搭建,到底要不要聚合工程? 在微服务项目 ...

  9. 微服务(SpringCloud)入门项目——外卖订单系统

    文章目录 需求分析 总体设计 详细设计 编码过程: 编码完成,看看效果图 补充项目sql脚本 本项目源码: https://github.com/liuwen766/OrderSystem.git 项 ...

最新文章

  1. 脑电数据分析工具汇总
  2. 两种方法设置disabled属性
  3. linux dd命令参数及用法详解---用指定大小的块拷贝一个文件
  4. k8s 组件介绍-API Server
  5. 其实程序员高工资,好多时候就是加班和自己硬撑出来的
  6. 2014年国内最热门的.NET开源项目TOP25
  7. linux 6.8安装 mysql_linux centos6.8 安装 mysql5.7.zip(完整版)
  8. 高等数学在计算机中的应用论文1500字,大学高等数学论文范文
  9. java大作业私人管家系统_微软蓝天云平台:中小企业的私人管家
  10. 1t硬盘怎么分区最好_1TB的硬盘如何分区比较合理?
  11. OSPF——LSA讲解
  12. 阿里云盘进场,安全星球何以成为云盘界的一股清流
  13. Outlook2013邮箱打开Word附件为受保护模式的调整方法
  14. 最简便的方法搭建Hexo+Github博客,基于Next主题
  15. html5 replace,js replace函数用法详解
  16. 阜城中学2021高考成绩查询,河北省衡水市阜城中学2020-2021学年高二上学期开学考试英语试题...
  17. Peak prominences(峰日珥)
  18. linux文件增量备份,linux 文件增量备份 用tar实现
  19. MySQL之——MySQL5.6 my.cnf 参数说明(附上自己服务器上真实配置文件)
  20. java前端接收回显图片_图片上传并回显后端篇

热门文章

  1. jqgrid demo java_java – jqgrid如何显示服务器端消息
  2. centos7 校正linux系统时间_Linux系统:Centos7下搭建ClickHouse列式存储数据库
  3. oracle 读懂10046视频,10046、10053、实操记录
  4. java 数字字母进位_使用带有进位的8085微处理器将两个8位数字相乘
  5. python 整数最大_Python程序使用floor()方法查找最大整数
  6. to_number用法示例_Number()函数以及JavaScript中的示例
  7. squid服务配置(正向、反向代理)
  8. Linux中远程文件的传输
  9. Redis都不懂?就别去面试了!聊聊我的Redis新专栏「视频版」
  10. ECshop 快捷登录插件 支持QQ 支付宝 微博