Maven父子结构的项目依赖使用以及打包依赖_微服务项目(maven父子级项目)怎么打包
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父子级项目)怎么打包相关推荐
- 项目中最困难的部分_微服务最难的部分是什么? 您的资料
项目中最困难的部分 在本文中,我将探讨创建和开发微服务时最棘手的问题:您的数据. 使用Spring Boot / Dropwizard / Docker并不意味着您在做微服务. 仔细查看您的域和数据将 ...
- 【微服务架构】基础的微服务架构模板、fianceCampus项目
OfferCampus前期构建简单介绍: 搭建完整的模板Spring Cloud项目 内容管理 SpringCloud 项目 脚手架项目 ---- financeCapmus 项目结构 创建父项目(j ...
- 微服务架构案例(01):项目技术选型简介,架构图解说明
本文源码:GitHub·点这里 || GitEE·点这里 一.单体架构 单体架构在中等偏小的业务中比较常见,场景模式就是单个应用.单个数据库.一个程序包(例如war格式或者Jar格式)包含所有业务需求 ...
- 【Spring Cloud 基础设施搭建系列】Spring Cloud Demo项目 使用Docker Compose编排Spring Cloud微服务
文章目录 Docker Compose快速人门 入门示例 使用Docker Comose编排Spring Cloud微服务 使用Maven插件读取Dockerfile进行构建 使用Maven插件构建D ...
- 【Kubernetes 企业项目实战】07、最新一代微服务网格 Istio 入门到企业实战(下)
目录 一.istio 核心资源解读 1.1 Gateway 总结: 1.2 VirtualService 1.2.1 VirtualService 主要由以下部分组成 1.2.2 virtualser ...
- JAVA Cloud微服务项目实战课程 SpringBoot 2.x +SpringCloud 微服务课程
课程目录 第1章 课程介绍 课程导学和学习建议 1-1 SpringCloud导学 1-2 获取源码说明 1-3 提问建议 1-4 点餐项目演示说明 第2章 微服务介绍 什么是微服务, 单体架构优缺点 ...
- java版本号管理_微服务项目中如何管理依赖版本号?
本文是微服务项目代码组织形式三部曲中的第三篇,也是最后一篇,通过这三篇文章,相信大家对于如果组织微服务中的代码已经有了一个基本认知,前面两篇分别是: 第三篇相对来说要简单一些,本来没打算写,但是上周有 ...
- 管理java版本号_微服务项目中如何管理依赖版本号?
本文是微服务项目代码组织形式三部曲中的第三篇,也是最后一篇,通过这三篇文章,相信大家对于如果组织微服务中的代码已经有了一个基本认知,前面两篇分别是: 微服务项目搭建,到底要不要聚合工程? 在微服务项目 ...
- 微服务(SpringCloud)入门项目——外卖订单系统
文章目录 需求分析 总体设计 详细设计 编码过程: 编码完成,看看效果图 补充项目sql脚本 本项目源码: https://github.com/liuwen766/OrderSystem.git 项 ...
最新文章
- 脑电数据分析工具汇总
- 两种方法设置disabled属性
- linux dd命令参数及用法详解---用指定大小的块拷贝一个文件
- k8s 组件介绍-API Server
- 其实程序员高工资,好多时候就是加班和自己硬撑出来的
- 2014年国内最热门的.NET开源项目TOP25
- linux 6.8安装 mysql_linux centos6.8 安装 mysql5.7.zip(完整版)
- 高等数学在计算机中的应用论文1500字,大学高等数学论文范文
- java大作业私人管家系统_微软蓝天云平台:中小企业的私人管家
- 1t硬盘怎么分区最好_1TB的硬盘如何分区比较合理?
- OSPF——LSA讲解
- 阿里云盘进场,安全星球何以成为云盘界的一股清流
- Outlook2013邮箱打开Word附件为受保护模式的调整方法
- 最简便的方法搭建Hexo+Github博客,基于Next主题
- html5 replace,js replace函数用法详解
- 阜城中学2021高考成绩查询,河北省衡水市阜城中学2020-2021学年高二上学期开学考试英语试题...
- Peak prominences(峰日珥)
- linux文件增量备份,linux 文件增量备份 用tar实现
- MySQL之——MySQL5.6 my.cnf 参数说明(附上自己服务器上真实配置文件)
- java前端接收回显图片_图片上传并回显后端篇
热门文章
- jqgrid demo java_java – jqgrid如何显示服务器端消息
- centos7 校正linux系统时间_Linux系统:Centos7下搭建ClickHouse列式存储数据库
- oracle 读懂10046视频,10046、10053、实操记录
- java 数字字母进位_使用带有进位的8085微处理器将两个8位数字相乘
- python 整数最大_Python程序使用floor()方法查找最大整数
- to_number用法示例_Number()函数以及JavaScript中的示例
- squid服务配置(正向、反向代理)
- Linux中远程文件的传输
- Redis都不懂?就别去面试了!聊聊我的Redis新专栏「视频版」
- ECshop 快捷登录插件 支持QQ 支付宝 微博