Skip to content

服务器托管,北京服务器托管,服务器租用-价格及机房咨询

Menu
  • 首页
  • 关于我们
  • 新闻资讯
  • 数据中心
  • 服务器托管
  • 服务器租用
  • 机房租用
  • 支持中心
  • 解决方案
  • 联系我们
Menu

Spring Boot + Vue前后端分离项目,Maven自动打包整合

Posted on 2023年5月6日 by hackdl

前言

       现在各类项目为了降低项目、服务模块间的高度耦合性,提出了“前后端分离”,而前后端分离的项目该如何打包呢?

       一般的做法是前端项目打包完,将打包文件手动复制到后端项目工程的srcmainresourcesstatic目录下,再进行后端工程项目打包,这样手动来回复制、多次打包总是让人觉得麻烦。(即使采用Jenkins打包部署,也会存在上面2次打包过程)

       为了解决上述问题,我特意查询了Maven build的相关配置及插件,发现解决上述问题,通过Maven自动打包整合其实不难,在此与大家进行分享。

 

前后端项目结构要求

      以Spring Boot + Vue的向后端项目为例说明。

     通过Maven构建项目,针对子父项目结构创建前端、后端工程,结构如下:

spring-boot-vue-parent
    |---spring-boot  # spring boot后端工程
        |---src
            |---main
                |---java
                    |---...
                |---resources
                    |---static    # 存放前端资源的目录
        |---pom.xml   # spring-boot后端工程的pom.xml文件
    |---vue-ui       # Vue前端工程
       |---...
       |---dist    # 打包编译时,自动创建的目录,无需手动创建该目录
       |---pom.xml # Vue前端工程的pom.xml文件,此文件可不要
 pom.xml 父工程的pom.xml文件

上述只罗列了关键的目录结构。

 

配置pom.xml文件

1、父工程的pom.xml文件

        满足Maven 子父项目结构配置要求,配置spring-boot-maven-plugin插件。



    4.0.0

    com.xcbeyond.demo
    demo
    pom
    1.0.0
    
    
        
        spring-boot
        
        vue-ui
    

    
        # 配置项目依赖包
        ……
    

    
        
            
                org.springframework.boot
                spring-boot-maven-plugin
                2.0.7.RELEASE
                
                    
                        
                            repackage
                        
                    
                
            
            
                org.apache.maven.plugins
                maven-compiler-plugin
                3.7.0
                
                    1.8
                    1.8
                
            
        
    

2、Vue前端工程的pom.xml文件

       对应Vue项目而言,pom.xml对它而言是不存在的,也是毫无意义的,此文件可以不要。在此体现出来,只是为了配置子父工程而已,凸显出Vue工程属于父工程的子工程而已,便于IDE导入呈现展示而已。



    
        demo
        com.xcbeyond.demo
        1.0.0
    
    4.0.0

    com.xcbeyond.demo.vue.ui
    vue-ui

3、后端工程的pom.xml文件

该pom.xml文件是需要重点关注配置的,如下:



    
        demo
        com.xcbeyond.demo
        1.0.0
    
    4.0.0

    com.xcbeyond.demo.spring.boot
    spring-boot

    
        # 配置项目依赖包
        ……
    

    
        
            
            
                org.apache.maven.plugins
                maven-clean-plugin
                3.1.0
                
                    
                        
                            
                            src/main/resources/static
                        
                        
                            
                            ${project.parent.basedir}/vue-ui/dist
                        
                    
                
            

            
            
                com.github.eirslett
                frontend-maven-plugin
                1.6
                
                    ${project.parent.basedir}/vue-ui
                
                
                    
                        install node and npm
                        
                            install-node-and-npm
                        
                        
                            v8.12.0
                            6.4.1
                        
                    
                    
                    
                        npm install
                        
                            npm
                        
                        generate-resources
                        
                            install
                        
                    
                    
                    
                        npm run build
                        
                            npm
                        
                        
                            run build
                        
                    
                
            

            
            
                org.apache.maven.plugins
                maven-resources-plugin
                3.1.0
                
                    
                        copy static
                        generate-resources
                        
                            copy-resources
                        
                        
                            
                            src/main/resources/static
                            true
                            
                                
                                    
                                    ${project.parent.basedir}/vue-ui/dist
                                    
                                        
                                        css/
                                        fonts/
                                        img/
                                        js/
                                        favicon.ico
                                        index.html
                                    
                                
                            
                        
                    
                
            
        
    

 

打包部署

     上述的pom.xml配置,已经整合了前后端项目的Maven自动打包,打包时,只需关注后端项目(spring-boot子工程)打包即可,就会将前端、后端一起打包到后端成功中。

     在子工程后端工程中,执行打包命令mvn clean package -Dmaven.test.skip=true, 或采用IDE中相应的Maven直接打包。

 

     至此,只需一次打包,即可完成前后端项目的Maven自动打包了,再也不用担心多次打包、漏打包的情况。

 

欢迎微信扫码下面二维码,关注微信公众号【程序猿技术大咖】,进行更多交流学习!

服务器托管,北京服务器托管,服务器租用 http://www.fwqtg.net
机房租用,北京机房租用,IDC机房托管, http://www.e1idc.net

Related posts:

  1. 北京gpu服务器租用云空间服务器
  2. 评价北京服务器托管机房,选哪家?
  3. 文化:你所在的团队,有多少人敢讲真话?
  4. 比较服务器租用托管和云主机:何为最佳选择?
  5. 服务器托管的安全保障措施

服务器托管,北京服务器托管,服务器租用,机房机柜带宽租用

服务器托管

咨询:董先生

电话13051898268 QQ/微信93663045!

上一篇: 19999的小米手机到底长什么样子?你会买吗?
下一篇: 循环?还是递归?

最新更新

  • 管理价值
  • 【每日一题】工作计划的最低难度
  • angular-devkit 中 build-angular 包的作用
  • 使用 ABAP 代码删除指定 SAP CRM 系统里 Opportunity 订单的文本
  • 使用 SAP fiori-tools-proxy 时遇到的错误消息 – invalid version

随机推荐

  • 江西网游服务器托管服务简介
  • IDC端口费:行业内关键的成本之一
  • 探究最佳选择:服务器托管服务
  • 胶州服务器托管 – 专业安全的网络托管
  • 企业单位服务器托管服务解析

客服咨询

  • 董先生
  • 微信/QQ:93663045
  • 电话:13051898268
  • 邮箱:dongli@hhisp.com
  • 地址:北京市石景山区重聚园甲18号2层

友情链接

  • 服务器托管
  • 服务器租用
  • 机房租用托管
  • 服务器租用托管
©2023 服务器托管,北京服务器托管,服务器租用-价格及机房咨询 京ICP备13047091号-8