vue打包部署到springboot并通过tomcat运行的操作方法
作者:young
- 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,内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!