Spring Boot 给聚合工程 打包部署,这里打jar包进行部署,首先等保证父子工程能正常运行,依赖都能加载,不会造成maven之间循环依赖等问题,如图

从上面的图来看,就会发生循环依赖的问题,这样子编译时就会发现错误,一定要注意,避免发生循环依赖的问题,
A模块 引入了B模块的依赖,B模块引入了 C模块,那么A模块也间接的引入了C模块的依赖,而这时 C模块又引入了A模块,这时候就会出现循环依赖等错误,maven加载的时候就会把这个错误给提示出来,这时候是启动不起来的,所以大家要注意的一点,还有就是Mvaen依赖的包,一定要做好版本管理,避免发生jar包冲突。项目能够正常进行的时候,我们这时候来说说项目打包等问题:

替换默认的Spring Boot 打包插件

在父pom.xml中替换默认的 Spring Boot 打包插件:

  <build><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId></plugin></plugins></build>

替换成:

   <build><plugins><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-compiler-plugin</artifactId><version>3.1</version><configuration><source>${java.version}</source><target>${java.version}</target></configuration></plugin><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-surefire-plugin</artifactId><version>2.19.1</version><configuration><skipTests>true</skipTests>    <!--默认关掉单元测试 --></configuration></plugin></plugins></build>

增加 : packaging

 <packaging>pom</packaging>

完整的父类pom.xml:

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><packaging>pom</packaging> <!-- pom 父类资源--><modules><!-- 创建的子系统-><module>xxxxxx</module><module>xxxxxx</module><module>xxxxxx</module></modules><parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>2.1.16.RELEASE</version><relativePath/> <!-- lookup parent from repository --></parent><groupId>com.example.xxxxxx</groupId><artifactId>xxxxxx</artifactId><version>0.0.1-SNAPSHOT</version><name>xxxxxx</name><description>Demo project for Spring Boot</description><properties><java.version>1.8</java.version><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding><project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding><maven.compiler.encoding>UTF-8</maven.compiler.encoding></properties><dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter</artifactId></dependency><!-- test --><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId><scope>test</scope></dependency><!-- actuator 健康安全检查 --><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-actuator</artifactId></dependency><!-- web --><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency></dependencies>
<!--打包插件--><build><plugins><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-compiler-plugin</artifactId><version>3.1</version><configuration><source>${java.version}</source><target>${java.version}</target></configuration></plugin><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-surefire-plugin</artifactId><version>2.19.1</version><configuration><skipTests>true</skipTests>    <!--默认关掉单元测试 --></configuration></plugin></plugins></build>
</project>

设置好了之后其他模块设置 packaging 打包为jar

 <packaging>jar</packaging>

启动模块设置 pom.xml:

  <build><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId><configuration><!-- 指定该Main Class为全局的唯一入口 这里是启动类的地址 --><mainClass>com.xxxxx.web.xxxxx.SpringBootShiroApplication</mainClass><layout>ZIP</layout></configuration><executions><execution><goals><goal>repackage</goal><!--可以把依赖的包都打包到生成的Jar包中--></goals></execution></executions></plugin></plugins></build>

设置好了之后进行maven,找到父类的maven 第一次执行不需要clean,其他就需要了,点击package打包了好了

不出意外的话,在执行完成了,就打包成功了,然后就会在启动类下面找到jar,然后直接执行就好了。

Spring Boot Maven聚合工程 打包部署教程相关推荐

  1. maven聚合工程打包_史诗级!有手就会的Maven教程(八)

    Maven 聚合 在开发2个以上模块的时候,每个模块都是一个 Maven Project.比如搜索平台,学习平台,考试平台. 开发的时候可以自己管自己独立编译,测试,运行.但如果想要将他们整合起来,我 ...

  2. Spring Boot+Maven将配置文件打包到Jar包外方便运维修改配置

    导语   在小公司使用Spring Boot部署上线,因为环境太多,导致运维开发相互之间重复的打包jar包运行到不同的环境上,使用容器技术又显得有点浪费,所以就先将配置文件打包的jar包外面.然后运维 ...

  3. spring boot 多模块项目打包部署

    一.使用mvn package方式打jar包 1.配置maven的环境变量.在PATH中加入E:\devtools\apache-maven-3.3.9\bin 2.CD到项目的的目录.例如我的.K: ...

  4. spring boot 设置 wagon 自动打包部署插件在 debug 模式下运行就不打包部署

    <execution><id>upload-deploy</id><!-- 运行package打包的同时运行upload-single和sshexec --& ...

  5. maven 聚合工程 用spring boot 搭建 spring cloud 微服务 模块式开发项目

    项目的简单介绍: 项目采用maven聚合工程 用spring boot 搭建 spring cloud的微服务 模块式开发 项目的截图: 搭建开始: 能上图 我少打字 1.首先搭建maven的聚合工程 ...

  6. maven打包插件----Spring Boot Maven Plugin

    官方文档链接地址:http://docs.spring.io/spring-boot/docs/1.3.0.BUILD-SNAPSHOT/maven-plugin/index.html 第一部分 Sp ...

  7. Spring Boot Gradle 瘦身打包 thinJar,分离 lib jar 依赖

    原文地址:weiku.co/article/135/ ,欢迎转载 需求背景: srping boot 2.0+ 打包生产的 fat jar 虽然部署起来很方便,但将所有依赖都打包到一个 jar 包中使 ...

  8. Java工程打包部署到linux服务器整个过程

    本次分享是Java工程打包部署到linux服务器整个过程,包括在服务器上jar包启停的一些经验分享. 操作环境 下面是对已经完成的Java工程打包上传,启停步骤分享. 1.在项目工程中使用Maven的 ...

  9. Spring Boot Maven插件

    Spring Boot Maven插件提供了使用Spring Boot应用程序步骤如下:   重新打包:创建一个可自动执行的jar或war文件.它可以替换常规工件,或者可以使用单独的分类器附加到构建生 ...

最新文章

  1. Redis的安装及使用
  2. 【实验吧】编程循环求底运算
  3. SAP ABAP 服务器上OData Gateway 框架代码的单步调试
  4. CSS 再学习,基础篇
  5. “头疼”的俄罗斯开发者:不要再买我的软件了,收入不能提现
  6. Linux 命令(119)—— diff 命令
  7. thinkphp学习笔记1—目录结构和命名规则
  8. 量化金融经典理论、重要模型、发展简史大全
  9. 微信小程序会议管理+后台管理系统
  10. 最方便简单的经纬度查询方法
  11. 正则 纳税号_JS常见简单正则表达式验证功能小结【手机,地址,企业税号,金额,身份证等】...
  12. 计算机电源不能启动不了,电脑不开机,常见原因有哪些,怎么处理,黑屏怎么办...
  13. html中颜色打字机效果,Css打字机效果
  14. 【蓝桥杯】入门训练 Fibonacci数列
  15. 小米手机显示流量数据连接到服务器,小米手机流量总不稳定,这三项设置可能你会用到...
  16. Vue中使用v-for生成dom删除元素错乱的问题
  17. mysql创建数据库后出现Access denied for user 'root'@'%' to database ‘xxxx’
  18. C语言规定 在一个源程序中 main函数,C语言规定:在一个源程序中,main函数的位置()A.必须在程序的最开始B.必须在系统调用的库函数的_搜题易...
  19. 尚硅谷SpringBoot学习笔记
  20. OpenCV4学习笔记(19)——模板匹配

热门文章

  1. java 时间类_Java日期和时间类简介
  2. linux 编译QT atom,QT5 编译使用TagLib
  3. .NET Framework 3.5 SP1 最终文件下载及离线安装
  4. python爬取知乎live_爬取个人知乎收藏夹内容生成网站
  5. 高斯——克吕格投影反算
  6. ajax json 根据邮政编码查地址
  7. 2021新版IDEA实现SpringBoot项目热部署
  8. [RK3288] AP6335WIFI模块移植(板级dts文件代码编写)
  9. BS1039-基于Python+BS架构开发实现在线图书管理系统
  10. vc使用hiredis的几个填坑动作