多模块的springboot项目发布指定模块的脚本方式

 更新时间:2025年01月14日 09:26:17   作者:左直拳  
该文章主要介绍了如何在多模块的SpringBoot项目中发布指定模块的脚本,作者原先的脚本会清理并编译所有模块,导致发布时间过长,通过简化脚本,只使用`mvn clean install`命令,可以快速发布指定模块及其依赖的模块

多模块的springboot项目发布指定模块的脚本

我有一个多模块的Spring Boot项目,里面有基础模块,有业务模块,业务模块依赖一些基础模块。发布的时候,如果单独将某个模块发布,一般会报错。

所以我都是整个项目,无论多少个模块,不管3721,全部发布一遍。

这样做成功是成功了,但时间比较长,要几分钟才能发布完。

次数一多,浪费的时间就很可观了。

1、不计成本地全部发布

其实问题主要是出在我发布的脚本上。

我原先的发布脚本是这样的,写在一个批处理文件里(该文件在项目的根目录下):

mvn clean install
mvn clean package -Dmaven.test.skip=true  -Ppro

运行的结果就是全部模块都发布了一遍。

这个脚本我也不知道是从哪里抄过来的,总之就是抄过来的,我并不理解。

问了AI之后才知道,其实这两句都是发布的,没必要两句都用。其中,

1)mvn clean install

先清理旧的构建产物,然后编译、测试、打包项目,并将打包好的文件安装到本地Maven仓库。

2)mvn clean package -Dmaven.test.skip=true -Ppro

清理旧的构建产物,编译项目并跳过测试,打包项目为归档文件,并使用名为 pro 的Profile进行构建。

简单来说,这两句都是全部模块都发布,而且第一句最猛,不单止发布,还要打包到本地的仓库里。

2、指定模块发布

以下是一个指定发布模块,同时模块依赖的模块也一并发布。

当当当:

mvn clean package -pl projectservers/bullshit-warning-server -am -Dmaven.test.skip=true -Ppro

这条命令的完整含义是:

  • 清理旧的构建产物(clean)。
  • 编译并打包 projectservers/bullshit-warning-server 模块(package),并且跳过测试(-Dmaven.test.skip=true)。
  • 同时构建该模块所依赖的所有模块(-am)。 使用名为 pro 的Profile进行构建(-Ppro)。

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • java中对象的序列化与反序列化深入讲解

    java中对象的序列化与反序列化深入讲解

    这篇文章主要给大家介绍了关于java中对象的序列化与反序列化的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2018-09-09
  • Java学生信息类继承与接口的原理及使用方式

    Java学生信息类继承与接口的原理及使用方式

    这篇文章主要介绍了Java学生信息类继承与接口的原理及使用方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-02-02
  • Java如何生成4位、6位随机数短信验证码(高效实现)

    Java如何生成4位、6位随机数短信验证码(高效实现)

    这篇文章主要介绍了Java如何生成4位、6位随机数短信验证码(高效实现),具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-12-12
  • Java经典面试题汇总:Spring

    Java经典面试题汇总:Spring

    本篇总结的是Spring框架相关的面试题,后续会持续更新,希望我的分享可以帮助到正在备战面试的实习生或者已经工作的同行,如果发现错误还望大家多多包涵,不吝赐教,谢谢
    2021-07-07
  • eclipse实现可认证的DH密钥交换协议

    eclipse实现可认证的DH密钥交换协议

    这篇文章主要介绍了eclipse实现可认证的DH密钥交换协议,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-06-06
  • Kafka单节点伪分布式集群搭建实现过程详解

    Kafka单节点伪分布式集群搭建实现过程详解

    这篇文章主要介绍了Kafka单节点伪分布式集群搭建实现过程详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-11-11
  • SpringBoot中常用数据处理方式详解

    SpringBoot中常用数据处理方式详解

    这篇文章主要为大家详细介绍了SpringBoot中常用数据处理方式的相关知识,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下
    2025-07-07
  • java实现多人聊天对话室

    java实现多人聊天对话室

    这篇文章主要为大家详细介绍了java实现多人聊天对话室,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-07-07
  • MyBatis-Plus逻辑删除和字段自动填充的实现

    MyBatis-Plus逻辑删除和字段自动填充的实现

    本文主要介绍了MyBatis-Plus逻辑删除和字段自动填充的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-08-08
  • mybatis plus时间判断问题

    mybatis plus时间判断问题

    在MyBatisPlus中,时间判断可以通过XML转义的方式实现,例如使用>、<、<>、>=、<=进行比较,这种方法涉及到SQL符号的转义,确保查询语句的安全性和准确性,特别是在处理大于、小于和等于等逻辑时,正确的转义能够防止SQL注入等安全问题
    2024-09-09

最新评论