vue打包部署到springboot并通过tomcat运行的操作方法

 更新时间:2024年05月28日 10:50:31   作者:young  
这篇文章主要介绍了vue打包部署到springboot并通过tomcat运行的操作方法,本文通过实例图文并茂的形式给大家介绍的非常详细,感兴趣的朋友跟随小编一起看看吧
  • tomcat默认端口 8080
  • springboot端口 9132
  • vue 端口 9131 

框架

项目是基于SpringBoot+Vue前后端分离的仓库管理系统

  • 后端:SpringBoot + MybatisPlus
  • 前端:Node.js + Vue + element-ui
  • 数据库:mysql

一. 打包Vue项目

cmd中输入命令 npm run build 后就可打包成功

打包完成后项目路径下会生成一个新的文件夹dist,打包后的东西都在里面

二、整合Vue项目和SpringBoot项目

将Vue项目dist文件夹下的所有文件Copy到SpringBoot项目的resource/static目录下

(没有static新建 一个static文件夹

然后配置Spring

三、修改Pom文件

1. 设置打包为war包(如果不需要可以不设置)

默认打包成 jar包

想要打包成war包,需要在pom文件中添加以下这一行

<packaging>war</packaging>

2 . 排除掉 web 里面自带的 Tomcat

只需要在spring-boot-starter-web 这个依赖上添加如下内容:

<exclusions>
  <exclusion>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-tomcat</artifactId>
  </exclusion>
</exclusions>

3. 添加一个自己的 Tomcat

添加以下依赖:

<dependency>
  	<groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-tomcat</artifactId>
    <version>2.7.5</version>
    <scope>provided</scope>
</dependency>

查看spring-boot-starter-tomcat的版本

进入你的Maven本地仓库目录(默认是~/.m2/repository),然后导航到org/springframework/boot/spring-boot-starter-tomcat目录,该目录下会包含不同版本的文件夹,版本号就包含在这些文件夹名称中。

四、添加配置类

在SpringBoot同级目录下添加一下配置类ServletInitializer

让其继承一个类:SpringBootServletInitializer,并且覆盖 configure 方法,在方法中添加 return builder.sources(WarehouseSystemApplication.class);

其中:WarehouseSystemApplication.class是 启动类类名(每个人都不一样)

package com.rabbiter;
import org.springframework.boot.builder.SpringApplicationBuilder;
import org.springframework.boot.web.servlet.support.SpringBootServletInitializer;
public class ServletInitializer extends SpringBootServletInitializer {
    public ServletInitializer() {
        System.out.println("初始化ServletInitializer");
    }
    @Override
    protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
        return application.sources(WarehouseSystemApplication.class);
    }
}

或者重新写一个类 SpringBootStartApplication,和WarehouseSystemApplication平级,

package com.rabbiter;
import org.springframework.boot.builder.SpringApplicationBuilder;
import org.springframework.boot.web.servlet.support.SpringBootServletInitializer;
public class SpringBootStartApplication extends SpringBootServletInitializer {
    @Override
    protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
        // 注意这里要指向原先用main方法执行的Application启动类
        return builder.sources(WarehouseSystemApplication.class);
    }
}

五、设置 configurations

Run -->Edit Configurations

六、选择Tomcat运行

运行后自动调转网页

七、跨域问题

存在跨域问题,不处理的话登录时会出现如下问题AxiosError: Network Error

要么设置跨域访问(各种操作后还是不行,后续解决)

要么把tomcat/springboot/vue端口都设置一致,比如都设置为 9131 (完美解决~)

到此这篇关于vue打包部署到springboot,通过tomcat运行的文章就介绍到这了,更多相关vue打包部署到springboot,内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Vue 富文本编辑器tinymce的安装配置使用教程

    Vue 富文本编辑器tinymce的安装配置使用教程

    TinyMCE是一个轻量级的基于浏览器的所见即所得编辑器,由JavaScript写成,TinyMCE是一个根据LGPL license发布的自由软件,你可以把它用于商业应用,这篇文章主要介绍了Vue 富文本编辑器tinymce的安装教程,需要的朋友可以参考下
    2023-09-09
  • Vue3使用pinia进行数据添加、修改和删除的操作代码

    Vue3使用pinia进行数据添加、修改和删除的操作代码

    Pinia 是 Vue 3 的官方状态管理库,旨在提供一种简单、灵活且类型安全的状态管理解决方案,Pinia 的设计理念与 Vuex 类似,但更加轻量且易于使用,文旨在全面解析 Vue 3 中如何使用 Pinia 进行数据的添加、修改和删除,需要的朋友可以参考下
    2025-03-03
  • 如何用vue封装axios请求

    如何用vue封装axios请求

    对axios进行封装以及将API接口按业务模块统一管理,有助于我们简化代码,方便后期维护。本文介绍了如何用vue封装axios请求,感兴趣的同学,可以参考下。
    2021-06-06
  • vue通过接口直接下载java生成好的Excel表格案例

    vue通过接口直接下载java生成好的Excel表格案例

    这篇文章主要介绍了vue通过接口直接下载java生成好的Excel表格案例
    2020-10-10
  • Vue2.0中三种常用传值方式(父传子、子传父、非父子组件传值)

    Vue2.0中三种常用传值方式(父传子、子传父、非父子组件传值)

    在Vue的框架开发的项目过程中,经常会用到组件来管理不同的功能,有一些公共的组件会被提取出来。下面通过本文给大家介绍Vue开发中常用的三种传值方式父传子、子传父、非父子组件传值,需要的朋友参考下吧
    2018-08-08
  • Vue2.0设置全局样式(less/sass和css)

    Vue2.0设置全局样式(less/sass和css)

    这篇文章主要为大家详细介绍了Vue2.0设置全局样式(less/sass和css),具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-11-11
  • Vue2中使用tailwindCss的详细教程

    Vue2中使用tailwindCss的详细教程

    Tailwind CSS是一个流行的前端CSS框架,它基于原子设计原则,提供了一套预构建的CSS样式类,旨在帮助开发者快速地创建响应式、可定制的用户界面,本文给大家介绍了Vue2中使用tailwindCss的详细教程,需要的朋友可以参考下
    2024-09-09
  • Vue 的 v-model用法实例

    Vue 的 v-model用法实例

    这篇文章主要介绍了Vue 的 v-model用法实例,帮助大家更好的理解和使用vue,感兴趣的朋友可以了解下
    2020-11-11
  • 深入理解Vue3响应式原理

    深入理解Vue3响应式原理

    响应式就是当对象本身(对象的增删值)或者对象属性(重新赋值)发生变化时,将会运行一些函数,最常见的就是render函数,下面这篇文章主要给大家介绍了关于Vue3响应式原理的相关资料,需要的朋友可以参考下
    2022-12-12
  • Vue状态管理工具Pinia的安装与使用教程

    Vue状态管理工具Pinia的安装与使用教程

    这篇文章主要介绍了Vue状态管理工具Pinia的安装与使用,一步一步学习如何将pinia运用到项目实战中去,文中有详细的安装教程和使用方法,并通过代码示例讲解的非常详细,需要的朋友可以参考下
    2024-03-03

最新评论