SpringBoot多模块化项目打包流程(单一启动类)

06-01 1126阅读

SpringBoot多模块化项目打包流程(单一启动类)

(单一启动类项目打包)

一、首先,我们配置每个模块的打包方式

1、父项目打包配置(就是打包方式为pom的项目)

SpringBoot多模块化项目打包流程(单一启动类)

为父项目添加如下项目

SpringBoot多模块化项目打包流程(单一启动类)

即添加如下依赖:

    
      
        org.springframework.boot
        spring-boot-maven-plugin
      
    
  
2、包含启动类的项目模块的打包配置(配置启动类)

配置启动类打包(这是一个单一启动类的多模块项目)

SpringBoot多模块化项目打包流程(单一启动类)

即在启动类的模块的pom.xml文件里添加如下配置:

注意:mainClass标签里面的内容为自己项目的启动类的类路径

        
            
                org.springframework.boot
                spring-boot-maven-plugin
                3.3.4 
                
                    com.hangyuli.App
                
                
                    
                        
                            repackage
                        
                    
                
            
        
    
3、不包含启动类的项目模块进行打包配置

对于没有启动类的模块打包配置,我们需要skip标签进行配置:

标签解释:

在某些情形下,你可能仅需编译项目,而不需要打包成可执行的 Spring Boot 应用程序。比如在进行单元测试,或者仅想检查代码能否正常编译时,就无需生成可执行的 JAR 或 WAR 文件。此时可以把 设置为 true。

配置无启动类的模块:

SpringBoot多模块化项目打包流程(单一启动类)

加入如下代码即可:

        
            
                org.springframework.boot
                spring-boot-maven-plugin
                
                    true
                
            
        

剩下的几个项目模块都不包含启动类,打包方式跟第三个一样。

(补充)

其实完成上面的步骤后我们已经可以用maven命令进行打包了,我们找到启动类模块的maven的package命令点击。

SpringBoot多模块化项目打包流程(单一启动类)

打包截图如下:

SpringBoot多模块化项目打包流程(单一启动类)

我们找到该文件夹查看:(打包成功)

SpringBoot多模块化项目打包流程(单一启动类)

完成上面的过程后我们可以直接进行第三步的测试,不需要进行第二步(按步骤进行打包)操作。

下面的步骤(按步骤进行打包)是我在看bilibili多模块项目(单一启动类)打包视频时所记录,确实可行,但是有点麻烦,并且每个模块都进行了打包,然后我回过来直接在启动类模块运行package命令,然后进行运行,发现也可用测试成功。下面的命令用的是install,他会将生产的包文件安装到Maven本地仓库。

package和install命令的区别:

  • package 命令主要用于生成项目的包文件,适用于本地测试和简单集成。
  • install 命令在 package 的基础上,还会将生成的包文件安装到本地 Maven 仓库,方便其他本地项目引用。

    二、按步骤进行打包

    1、首先对父项目进行install一下:

    SpringBoot多模块化项目打包流程(单一启动类)

    2、根据依赖关系进行子模块打包

    SpringBoot多模块化项目打包流程(单一启动类)

    解释一下上面的图片的项目模块的依赖关系:

    dataPlatformModuleSystem模块:是该项目所以模块的父模块。

    common模块:是公共的一些配置模块,除了父模块的其他模块都依赖它,所以它最先进行打包操作。

    dataStandardsManagement模块:只依赖于common模块。需要等common模块打包好后在打包。

    dataAssetManagement模块:只依赖common模块。需要等common模块打包好后在打包。

    dataSourceManagement模块:只依赖common模块。需要等common模块打包好后在打包。

    scriptManagement模块:只依赖common模块。需要等common模块打包好后在打包。

    webInterface模块:除了父模块之外都依赖。所以它要等除了父模块之外的模块打包好后在打包。

    注意:模块与模块之间没有依赖的话,顺序可用随意。

    下面我们将进行打包:

    为什么先打包common:

    因为我们我们的其他模块在使用的时候需要用到common模块,如果我们没有先对common进行打包,我们其他模块在打包的时候就找不到common,就会出问题。

    首先进行对common的公共模块进行打包操作:

    点击install进行打包

    SpringBoot多模块化项目打包流程(单一启动类)

    然后是依赖于common的四个模块:(分别点击每个模块的install)

    这里就只演示一个:

    SpringBoot多模块化项目打包流程(单一启动类)

    **最后是启动类模块的打包:**也就是webInterface模块。

    SpringBoot多模块化项目打包流程(单一启动类)

    下面是我们打包成功的图片:

    SpringBoot多模块化项目打包流程(单一启动类)

    SpringBoot多模块化项目打包流程(单一启动类)

    我们根据地址来查询一下是否真的成功打包:

    SpringBoot多模块化项目打包流程(单一启动类)

    可用看到,已经成功打包。

    三、通过java -jar 命令进行启动该java包

    我们进行该包的文件夹:

    SpringBoot多模块化项目打包流程(单一启动类)

    在搜索栏上面输入cmd,点击回车键(enter)进入命令面板

    SpringBoot多模块化项目打包流程(单一启动类)

    输入Java -jar 以及该包的名字(带后缀)

    SpringBoot多模块化项目打包流程(单一启动类)

    点击回车按钮启动:

    SpringBoot多模块化项目打包流程(单一启动类)

    然后我们通过我们8080端口访问我们的swagger页面:(成功访问)

    SpringBoot多模块化项目打包流程(单一启动类)

    如此打包就完成了。

    我们就可用将该包用到其他地方进行部署了。

免责声明:我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自自研大数据AI进行生成,内容摘自(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供学习参考,不准确地方联系删除处理! 图片声明:本站部分配图来自人工智能系统AI生成,觅知网授权图片,PxHere摄影无版权图库和百度,360,搜狗等多加搜索引擎自动关键词搜索配图,如有侵权的图片,请第一时间联系我们。

目录[+]

取消
微信二维码
微信二维码
支付宝二维码